:root {
    --caivan-bg: #fffaf0;
    --caivan-bg-soft: #fff3d4;
    --caivan-card: rgba(255, 255, 255, 0.94);
    --caivan-card-strong: #ffffff;
    --caivan-text: #2b2115;
    --caivan-heading: #17120b;
    --caivan-muted: #74685b;
    --caivan-line: rgba(166, 119, 36, 0.22);
    --caivan-line-strong: rgba(166, 119, 36, 0.36);
    --caivan-gold: #c58b22;
    --caivan-gold-2: #f5c24b;
    --caivan-gold-soft: #fff3c4;
    --caivan-red: #ad2534;
    --caivan-green: #27834f;
    --caivan-shadow: 0 22px 60px rgba(103, 73, 25, 0.13);
    --caivan-soft-shadow: 0 12px 32px rgba(103, 73, 25, 0.1);
}

.caivan-page {
    margin: 0;
    min-height: 100vh;
    color: var(--caivan-text);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 10% 8%, rgba(245, 194, 75, 0.26), transparent 28%),
        radial-gradient(circle at 92% 18%, rgba(255, 222, 144, 0.34), transparent 26%),
        linear-gradient(180deg, #fffaf0 0%, #fff7e8 42%, #fffdf8 100%);
}

.caivan-main {
    overflow: hidden;
}

.caivan-wrap {
    width: min(1380px, calc(100% - 28px));
    margin: 0 auto;
}

.caivan-hero {
    position: relative;
    padding: 46px 0 28px;
    overflow: hidden;
}

.caivan-hero__glow {
    position: absolute;
    width: 560px;
    height: 560px;
    right: -190px;
    top: -230px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245, 194, 75, 0.32), transparent 68%);
    pointer-events: none;
}

.caivan-hero__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.7fr);
    gap: 26px;
    align-items: stretch;
}

.caivan-hero__content,
.caivan-hero__card,
.caivan-panel,
.caivan-detail-card,
.caivan-star-card,
.caivan-milestone-card,
.caivan-task-card,
.caivan-admin-form-panel,
.caivan-admin-table-panel,
.caivan-admin-path-list {
    border: 1px solid var(--caivan-line);
    background: var(--caivan-card);
    box-shadow: var(--caivan-shadow);
    backdrop-filter: blur(14px);
}

.caivan-hero__content {
    border-radius: 32px;
    padding: clamp(24px, 3vw, 42px);
    position: relative;
    overflow: hidden;
}

.caivan-hero__content::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    bottom: -110px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(197, 139, 34, 0.13), transparent 70%);
    pointer-events: none;
}

.caivan-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid rgba(197, 139, 34, 0.28);
    background: #fff6da;
    color: #8f5f0d;
    font-weight: 850;
    font-size: 13px;
}

.caivan-hero h1,
.caivan-detail-card h1,
.caivan-admin-title h1 {
    margin: 18px 0 14px;
    font-size: clamp(34px, 4.6vw, 62px);
    line-height: 1.03;
    font-weight: 950;
    letter-spacing: -0.045em;
    color: var(--caivan-heading);
}

.caivan-hero p,
.caivan-detail-card p,
.caivan-admin-title p,
.caivan-section-title p {
    margin: 0;
    color: var(--caivan-muted);
    font-size: 16px;
    line-height: 1.8;
    max-width: 780px;
}

.caivan-hero__actions,
.caivan-admin-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.caivan-btn,
.caivan-mini-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 999px;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, opacity 0.18s ease;
    white-space: nowrap;
}

.caivan-btn {
    min-height: 48px;
    padding: 0 22px;
    font-weight: 850;
    font-size: 15px;
}

.caivan-btn:hover,
.caivan-mini-btn:hover {
    transform: translateY(-1px);
}

.caivan-btn--gold,
.caivan-mini-btn {
    color: #302006;
    background: linear-gradient(135deg, #fff1b8, #efbb3f 52%, #ffd875);
    box-shadow: 0 12px 28px rgba(197, 139, 34, 0.22);
}

.caivan-btn--ghost {
    color: #6e4706;
    background: #fffaf0;
    border: 1px solid rgba(197, 139, 34, 0.28);
}

.caivan-hero__card {
    border-radius: 32px;
    padding: 26px;
    min-height: 330px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.caivan-hero__card::before {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(197, 139, 34, 0.16);
    border-radius: 24px;
    pointer-events: none;
}

.caivan-orb {
    width: 190px;
    height: 190px;
    margin: 0 auto 24px;
    border-radius: 50%;
    position: relative;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 42% 35%, #fff7d8, #ffe3a0 42%, #fbfaf4 73%);
    box-shadow: inset 0 0 32px rgba(197, 139, 34, 0.2), 0 20px 42px rgba(197, 139, 34, 0.13);
}

.caivan-orb__ring {
    position: absolute;
    inset: 13px;
    border-radius: 50%;
    border: 1px solid rgba(197, 139, 34, 0.52);
}

.caivan-orb__ring::before,
.caivan-orb__ring::after {
    content: "";
    position: absolute;
    inset: 26px;
    border-radius: 50%;
    border: 1px dashed rgba(197, 139, 34, 0.34);
}

.caivan-orb__ring::after {
    inset: -8px;
    transform: rotate(23deg);
}

.caivan-orb__moon {
    position: absolute;
    width: 58px;
    height: 58px;
    top: 34px;
    right: 42px;
    border-radius: 50%;
    background: radial-gradient(circle, #fff8df, #e7ae3f);
    box-shadow: 0 0 26px rgba(197, 139, 34, 0.3);
}

.caivan-orb__text {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #4b3109;
    font-size: 32px;
    line-height: 0.95;
    font-weight: 950;
}

.caivan-quick-stats,
.caivan-detail-stats,
.caivan-laso-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.caivan-quick-stats > div,
.caivan-detail-stats > div,
.caivan-laso-summary > div {
    padding: 14px;
    border: 1px solid rgba(197, 139, 34, 0.18);
    border-radius: 18px;
    background: #fff9ea;
}

.caivan-quick-stats span,
.caivan-detail-stats span,
.caivan-laso-summary span {
    display: block;
    color: var(--caivan-muted);
    font-size: 12px;
    margin-bottom: 5px;
}

.caivan-quick-stats strong,
.caivan-detail-stats strong,
.caivan-laso-summary strong {
    display: block;
    color: #6f4707;
    font-weight: 950;
    font-size: 20px;
}

.caivan-status-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.65fr);
    gap: 22px;
    margin-top: 22px;
}

.caivan-panel {
    border-radius: 30px;
    padding: 24px;
}

.caivan-panel__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.caivan-panel__head i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #3c2606;
    background: linear-gradient(135deg, #fff1b8, #efbb3f);
}

.caivan-panel__label,
.caivan-section-title span {
    display: block;
    color: #a36b10;
    font-size: 13px;
    font-weight: 850;
    margin-bottom: 5px;
}

.caivan-panel h2,
.caivan-section-title h2 {
    margin: 0;
    color: var(--caivan-heading);
    font-size: 25px;
    line-height: 1.18;
    font-weight: 950;
}

.caivan-info-form {
    border: 1px solid rgba(197, 139, 34, 0.22);
    background: linear-gradient(180deg, #fffdf7, #fff8e8);
    border-radius: 24px;
    padding: 18px;
    box-shadow: var(--caivan-soft-shadow);
}

.caivan-info-form__grid {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, minmax(130px, 0.7fr));
    gap: 12px;
}

.caivan-info-form label,
.caivan-info-form__foot > div {
    display: block;
    border: 1px solid rgba(197, 139, 34, 0.18);
    background: #ffffff;
    border-radius: 18px;
    padding: 14px 15px;
}

.caivan-info-form label span,
.caivan-info-form__foot span {
    display: block;
    color: #8a7b69;
    font-size: 12px;
    margin-bottom: 6px;
}

.caivan-info-form label strong,
.caivan-info-form__foot strong {
    display: block;
    color: #3a2a17;
    font-size: 18px;
    font-weight: 950;
}

.caivan-info-form__foot {
    margin-top: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.caivan-info-form__foot a {
    display: inline-flex;
    min-height: 48px;
    padding: 0 18px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #2f2518;
    color: #fff7df;
    text-decoration: none;
    font-weight: 850;
}

.caivan-empty {
    padding: 16px;
    border-radius: 20px;
    border: 1px dashed rgba(197, 139, 34, 0.3);
    background: #fff9ea;
    color: var(--caivan-muted);
}

.caivan-empty strong {
    display: block;
    color: var(--caivan-heading);
    margin-bottom: 6px;
}

.caivan-empty p {
    margin: 0;
    line-height: 1.65;
}

.caivan-empty--warn {
    border-color: rgba(173, 37, 52, 0.3);
    background: #fff2ee;
}

.caivan-empty--wide {
    grid-column: 1 / -1;
}

.caivan-laso-summary {
    margin-top: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.caivan-loading-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 8px;
    background: var(--caivan-gold);
    animation: caivanPulse 1.2s infinite;
}

@keyframes caivanPulse {
    0% { box-shadow: 0 0 0 0 rgba(197, 139, 34, 0.44); }
    70% { box-shadow: 0 0 0 12px rgba(197, 139, 34, 0); }
    100% { box-shadow: 0 0 0 0 rgba(197, 139, 34, 0); }
}

.caivan-top-list {
    display: grid;
    gap: 10px;
}

.caivan-top-item {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 18px;
    background: #fff9ea;
    border: 1px solid rgba(197, 139, 34, 0.16);
}

.caivan-rank {
    color: #9b6410;
    font-weight: 950;
}

.caivan-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #b7791f, #f1c96b);
    color: #fff;
    font-weight: 950;
}

.caivan-top-item strong,
.caivan-top-item small {
    display: block;
}

.caivan-top-item strong {
    color: var(--caivan-heading);
}

.caivan-top-item small {
    color: var(--caivan-muted);
}

.caivan-top-item b {
    color: #7b4f0a;
}

.caivan-section-title {
    text-align: center;
    margin: 48px auto 22px;
    max-width: 820px;
}

.caivan-section-title--left {
    text-align: left;
    margin-left: 0;
    max-width: 820px;
}

.caivan-star-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.caivan-star-card {
    border-radius: 26px;
    padding: 18px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    position: relative;
    overflow: hidden;
}

.caivan-star-card::after {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    right: -56px;
    top: -50px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245, 194, 75, 0.22), transparent 70%);
    pointer-events: none;
}

.caivan-star-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #3a2607;
    background: linear-gradient(135deg, #fff1b8, #efbb3f);
    box-shadow: 0 12px 24px rgba(197, 139, 34, 0.18);
}

.caivan-star-card__content,
.caivan-star-card > div:nth-child(2) {
    min-width: 0;
}

.caivan-star-card span {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff6dc;
    color: #9b6410;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 8px;
}

.caivan-star-card h3 {
    margin: 0 0 8px;
    color: var(--caivan-heading);
    font-size: 23px;
    font-weight: 950;
}

.caivan-star-card p {
    margin: 0;
    color: var(--caivan-muted);
    font-size: 14px;
    line-height: 1.7;
}

.caivan-star-card .caivan-mini-btn {
    grid-column: 1 / -1;
    min-height: 40px;
    font-weight: 900;
    font-size: 13px;
}

.caivan-mini-btn--button {
    width: 100%;
    min-height: 40px;
    font-weight: 900;
}

.caivan-skeleton-card {
    height: 180px;
    border-radius: 26px;
    background: linear-gradient(90deg, #fff2d2, #fff8e8, #fff2d2);
    background-size: 240% 100%;
    animation: caivanLoading 1.4s infinite;
    border: 1px solid var(--caivan-line);
}

@keyframes caivanLoading {
    0% { background-position: 0 0; }
    100% { background-position: 240% 0; }
}

.caivan-milestones {
    padding-bottom: 58px;
}

.caivan-milestone-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.caivan-milestone-card {
    border-radius: 24px;
    padding: 18px;
    min-height: 150px;
}

.caivan-milestone-card span {
    display: inline-flex;
    color: #9b6410;
    font-weight: 950;
    font-size: 13px;
    margin-bottom: 10px;
}

.caivan-milestone-card strong {
    display: block;
    color: var(--caivan-heading);
    font-size: 18px;
    line-height: 1.25;
    margin-bottom: 8px;
}

.caivan-milestone-card p {
    margin: 0;
    color: var(--caivan-muted);
    line-height: 1.65;
    font-size: 14px;
}

.caivan-detail-hero {
    padding: 34px 0 18px;
}

.caivan-detail-hero__inner {
    display: grid;
    gap: 16px;
}

.caivan-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    color: #8c5b0d;
    text-decoration: none;
    font-weight: 850;
}

.caivan-detail-card {
    border-radius: 32px;
    padding: 28px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
    gap: 24px;
    align-items: center;
}

.caivan-progress-line {
    height: 12px;
    background: #f3e4c3;
    border: 1px solid rgba(197, 139, 34, 0.2);
    border-radius: 999px;
    overflow: hidden;
    margin: 22px 0 14px;
}

.caivan-progress-line div {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f5c24b, #b7791f);
}

.caivan-detail-card__right {
    display: grid;
    gap: 14px;
}

.caivan-star-seal {
    border-radius: 26px;
    padding: 24px;
    min-height: 190px;
    display: grid;
    place-items: center;
    text-align: center;
    background: linear-gradient(145deg, #fff7df, #fffdf8);
    border: 1px solid rgba(197, 139, 34, 0.22);
}

.caivan-star-seal i {
    color: #b7791f;
    font-size: 34px;
    margin-bottom: 8px;
}

.caivan-star-seal strong {
    display: block;
    color: var(--caivan-heading);
    font-size: 26px;
    font-weight: 950;
}

.caivan-star-seal span {
    color: var(--caivan-muted);
    font-weight: 850;
}

.caivan-done-box {
    padding: 14px;
    border-radius: 18px;
    background: #effaf3;
    color: #1b6d42;
    font-weight: 850;
    border: 1px solid rgba(39, 131, 79, 0.22);
}

.caivan-task-section {
    padding: 8px 0 60px;
}

.caivan-guest-note {
    margin-bottom: 18px;
}

.caivan-task-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
    gap: 14px;
}

.caivan-task-card {
    border-radius: 22px;
    padding: 14px;
    min-height: 245px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    overflow: hidden;
}

.caivan-task-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #f5c24b, #b7791f);
}

.caivan-task-card__day {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff0bd;
    color: #7d510b;
    font-size: 13px;
    font-weight: 950;
}

.caivan-task-card__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.caivan-task-card h3 {
    margin: 0;
    color: var(--caivan-heading);
    font-size: 16px;
    line-height: 1.32;
    font-weight: 950;
}

.caivan-task-card p {
    margin: 0;
    color: var(--caivan-muted);
    font-size: 13px;
    line-height: 1.65;
}

.caivan-task-card__meta {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #8b5a0e;
    font-size: 13px;
    font-weight: 850;
}

.caivan-task-card__meta b {
    color: #6b4b19;
}

.caivan-task-card.is-done {
    border-color: rgba(39, 131, 79, 0.3);
    background: linear-gradient(180deg, #f6fff8, #ffffff);
}

.caivan-task-card.is-done::before {
    background: linear-gradient(90deg, #34a46a, #88d7a8);
}

.caivan-task-card.is-done .caivan-task-card__day {
    background: #def7e8;
    color: #1b6d42;
}

.caivan-task-card.is-locked {
    opacity: 0.7;
    background: #fffcf5;
}

.caivan-task-card.is-locked::after {
    content: "Khóa";
    position: absolute;
    right: 12px;
    top: 12px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #f2e6d0;
    color: #7d6b56;
    font-size: 12px;
    font-weight: 900;
}

.caivan-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9999;
    max-width: min(360px, calc(100vw - 36px));
    padding: 14px 16px;
    border-radius: 18px;
    background: #2f2518;
    color: #fff;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
    font-weight: 800;
}

.caivan-toast.is-show {
    opacity: 1;
    transform: translateY(0);
}

.caivan-toast.is-error {
    background: #a62634;
}

.caivan-toast.is-success {
    background: #237246;
}

.caivan-admin-main,
.caivan-admin-page {
    padding: 36px 0 64px;
}

.caivan-admin-title {
    margin-bottom: 22px;
}

.caivan-admin-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.38fr) minmax(0, 0.62fr);
    gap: 20px;
    align-items: start;
}

.caivan-admin-form-panel,
.caivan-admin-table-panel,
.caivan-admin-path-list {
    border-radius: 28px;
    padding: 20px;
}

.caivan-admin-form {
    display: grid;
    gap: 14px;
}

.caivan-admin-form__row {
    display: grid;
    gap: 8px;
}

.caivan-admin-form__row label,
.caivan-check-label {
    color: #5d5145;
    font-weight: 850;
    font-size: 14px;
}

.caivan-admin-form input,
.caivan-admin-form select,
.caivan-admin-form textarea,
.caivan-filter-form input,
.caivan-filter-form select {
    width: 100%;
    border: 1px solid rgba(197, 139, 34, 0.24);
    border-radius: 14px;
    background: #fffdf8;
    padding: 11px 12px;
    color: var(--caivan-text);
    outline: none;
}

.caivan-admin-form textarea {
    min-height: 110px;
    resize: vertical;
}

.caivan-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.caivan-admin-table-wrap {
    overflow-x: auto;
}

.caivan-admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.caivan-admin-table th,
.caivan-admin-table td {
    padding: 12px 10px;
    border-bottom: 1px solid rgba(197, 139, 34, 0.16);
    text-align: left;
    vertical-align: top;
}

.caivan-admin-table th {
    color: #6f4707;
    background: #fff7df;
    font-weight: 950;
}

.caivan-admin-table td {
    color: var(--caivan-text);
}

.caivan-danger {
    color: #ad2534;
}

.caivan-admin-path-list {
    margin-top: 20px;
    display: grid;
    gap: 12px;
}

.caivan-admin-path-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    border: 1px solid rgba(197, 139, 34, 0.16);
    background: #fff9ea;
    padding: 12px;
    border-radius: 18px;
}

@media (max-width: 1180px) {
    .caivan-hero__inner,
    .caivan-status-grid,
    .caivan-detail-card,
    .caivan-admin-grid {
        grid-template-columns: 1fr;
    }

    .caivan-star-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .caivan-milestone-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .caivan-wrap {
        width: min(100% - 20px, 1380px);
    }

    .caivan-hero {
        padding: 24px 0 18px;
    }

    .caivan-hero__content,
    .caivan-hero__card,
    .caivan-panel,
    .caivan-detail-card,
    .caivan-admin-form-panel,
    .caivan-admin-table-panel {
        border-radius: 22px;
        padding: 16px;
    }

    .caivan-hero h1,
    .caivan-detail-card h1,
    .caivan-admin-title h1 {
        font-size: 34px;
    }

    .caivan-hero__card {
        min-height: auto;
    }

    .caivan-orb {
        width: 150px;
        height: 150px;
    }

    .caivan-orb__text {
        font-size: 26px;
    }

    .caivan-quick-stats,
    .caivan-detail-stats,
    .caivan-laso-summary,
    .caivan-info-form__grid,
    .caivan-info-form__foot,
    .caivan-milestone-grid,
    .caivan-star-grid {
        grid-template-columns: 1fr;
    }

    .caivan-star-card {
        border-radius: 22px;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .caivan-section-title {
        margin-top: 34px;
    }

    .caivan-task-list {
        grid-template-columns: 1fr;
    }

    .caivan-task-card {
        min-height: auto;
    }

    .caivan-admin-path-item,
    .caivan-top-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .caivan-top-item b,
    .caivan-admin-path-item .caivan-mini-btn {
        grid-column: 1 / -1;
    }
}

/* V4: nhiệm vụ 30 ngày dạng ô gọn, bấm vào hiện nội dung ở khung trên */
.caivan-task-focus {
    margin: 18px 0 22px;
    padding: 22px;
    border-radius: 26px;
    background: linear-gradient(145deg, #ffffff, #fff8e8);
    border: 1px solid rgba(197, 139, 34, 0.22);
    box-shadow: var(--caivan-soft-shadow);
}

.caivan-task-focus__empty span,
.caivan-task-focus__head span {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff0bd;
    color: #7d510b;
    font-size: 13px;
    font-weight: 950;
}

.caivan-task-focus__empty strong {
    display: block;
    margin-top: 10px;
    color: var(--caivan-heading);
    font-size: 20px;
}

.caivan-task-focus__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.caivan-task-focus h3 {
    margin: 0 0 10px;
    color: var(--caivan-heading);
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.15;
    font-weight: 950;
}

.caivan-task-focus p {
    max-width: 980px;
    margin: 0;
    color: var(--caivan-muted);
    font-size: 17px;
    line-height: 1.8;
}

.caivan-task-focus__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(197, 139, 34, 0.16);
}

.caivan-task-focus__foot span {
    color: #79541a;
    font-weight: 850;
}

.caivan-task-focus__foot strong {
    color: #1b6d42;
}

.caivan-task-focus__done,
.caivan-task-focus__locked {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border-radius: 16px;
    font-weight: 900;
}

.caivan-task-focus__done {
    background: #e8f9ee;
    color: #1b6d42;
    border: 1px solid rgba(39, 131, 79, 0.22);
}

.caivan-task-focus__locked {
    background: #f7efe0;
    color: #7d6b56;
    border: 1px solid rgba(125, 107, 86, 0.18);
}

.caivan-task-focus__state {
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 950;
}

.caivan-task-focus__state--done {
    background: #e2f8ea;
    color: #1b6d42;
}

.caivan-task-focus__state--locked {
    background: #efe2cf;
    color: #7d6b56;
}

.caivan-task-focus__state--ready {
    background: #fff0bd;
    color: #8a5d13;
}

.caivan-task-list--compact {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.caivan-task-card--compact {
    min-height: 132px;
    padding: 14px;
    cursor: pointer;
    outline: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.caivan-task-card--compact:hover,
.caivan-task-card--compact:focus-visible,
.caivan-task-card--compact.is-selected {
    transform: translateY(-2px);
    border-color: rgba(197, 139, 34, 0.45);
    box-shadow: 0 16px 36px rgba(103, 73, 25, 0.14);
}

.caivan-task-card--compact.is-selected {
    background: linear-gradient(180deg, #fff7df, #ffffff);
}

.caivan-task-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.caivan-task-card--compact h3 {
    margin-top: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 42px;
}

.caivan-task-state {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 13px;
}

.caivan-task-state--done {
    background: #27a35f;
    color: #fff;
    box-shadow: 0 8px 18px rgba(39, 163, 95, 0.24);
}

.caivan-task-state--locked {
    background: #efe2cf;
    color: #7d6b56;
}

.caivan-task-state--ready {
    background: #fff0bd;
    color: #a96f11;
}

.caivan-task-card--compact.is-locked::after {
    content: none;
}

@media (max-width: 1180px) {
    .caivan-task-list--compact {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .caivan-task-focus {
        padding: 18px;
        border-radius: 22px;
    }

    .caivan-task-focus__head,
    .caivan-task-focus__foot {
        align-items: flex-start;
        flex-direction: column;
    }

    .caivan-task-focus p {
        font-size: 15px;
    }

    .caivan-task-list--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .caivan-task-card--compact {
        min-height: 124px;
        border-radius: 18px;
    }
}

/* V5: giao diện mặc định trắng, đỏ và xanh lam. Có thêm bản tối riêng cho Cải Vận */
:root {
    --caivan-bg: #f6f9ff;
    --caivan-bg-soft: #eef5ff;
    --caivan-card: rgba(255, 255, 255, 0.96);
    --caivan-card-strong: #ffffff;
    --caivan-text: #253047;
    --caivan-heading: #101827;
    --caivan-muted: #64708a;
    --caivan-line: rgba(29, 78, 216, 0.14);
    --caivan-line-strong: rgba(190, 24, 93, 0.24);
    --caivan-gold: #2563eb;
    --caivan-gold-2: #be123c;
    --caivan-gold-soft: #eef5ff;
    --caivan-red: #be123c;
    --caivan-green: #16a34a;
    --caivan-shadow: 0 22px 58px rgba(15, 23, 42, 0.09);
    --caivan-soft-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
}

.caivan-page {
    background:
        radial-gradient(circle at 8% 8%, rgba(37, 99, 235, 0.10), transparent 28%),
        radial-gradient(circle at 92% 16%, rgba(190, 18, 60, 0.09), transparent 28%),
        linear-gradient(180deg, #f8fbff 0%, #ffffff 48%, #f5f8ff 100%);
}

.caivan-theme-switch {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 18px;
}

.caivan-theme-switch button {
    border: 1px solid rgba(29, 78, 216, 0.16);
    background: rgba(255, 255, 255, 0.9);
    color: var(--caivan-heading);
    border-radius: 999px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: var(--caivan-soft-shadow);
    transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}

.caivan-theme-switch button:hover,
.caivan-theme-switch button.is-active {
    transform: translateY(-1px);
    color: #ffffff;
    border-color: transparent;
    background: linear-gradient(135deg, #be123c, #2563eb);
}

.caivan-page .caivan-kicker,
.caivan-page .caivan-panel__label,
.caivan-page .caivan-section-title span {
    background: #eef5ff;
    border-color: rgba(37, 99, 235, 0.14);
    color: #1d4ed8;
}

.caivan-page .caivan-btn--gold,
.caivan-page .caivan-mini-btn {
    color: #ffffff;
    background: linear-gradient(135deg, #be123c 0%, #2563eb 100%);
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.18);
}

.caivan-page .caivan-btn--ghost {
    color: #1d4ed8;
    background: #ffffff;
    border: 1px solid rgba(37, 99, 235, 0.18);
}

.caivan-page .caivan-hero__content,
.caivan-page .caivan-hero__card,
.caivan-page .caivan-panel,
.caivan-page .caivan-detail-card,
.caivan-page .caivan-star-card,
.caivan-page .caivan-milestone-card,
.caivan-page .caivan-task-card,
.caivan-page .caivan-admin-form-panel,
.caivan-page .caivan-admin-table-panel,
.caivan-page .caivan-admin-path-list {
    border-color: var(--caivan-line);
    background: var(--caivan-card);
}

.caivan-page .caivan-hero__card::before,
.caivan-page .caivan-detail-card__right,
.caivan-page .caivan-star-seal {
    border-color: rgba(37, 99, 235, 0.12);
}

.caivan-page .caivan-orb {
    background: radial-gradient(circle at 36% 32%, #ffffff, #eef5ff 42%, #fdf2f8 74%);
    box-shadow: inset 0 0 34px rgba(37, 99, 235, 0.11), 0 20px 42px rgba(15, 23, 42, 0.08);
}

.caivan-page .caivan-orb__ring,
.caivan-page .caivan-orb__ring::before,
.caivan-page .caivan-orb__ring::after {
    border-color: rgba(37, 99, 235, 0.25);
}

.caivan-page .caivan-orb__moon {
    background: radial-gradient(circle, #ffffff, #bfdbfe 54%, #fecdd3);
    box-shadow: 0 0 24px rgba(37, 99, 235, 0.16);
}

.caivan-page .caivan-orb__text,
.caivan-page .caivan-quick-stats strong,
.caivan-page .caivan-detail-stats strong,
.caivan-page .caivan-laso-summary strong {
    color: var(--caivan-heading);
}

.caivan-page .caivan-quick-stats > div,
.caivan-page .caivan-detail-stats > div,
.caivan-page .caivan-laso-summary > div,
.caivan-page .caivan-empty,
.caivan-page .caivan-info-form label,
.caivan-page .caivan-info-form__foot > div {
    background: #ffffff;
    border-color: rgba(29, 78, 216, 0.12);
}

.caivan-page .caivan-info-form,
.caivan-page .caivan-task-focus {
    background: linear-gradient(145deg, #ffffff, #f8fbff);
    border-color: rgba(29, 78, 216, 0.14);
}

.caivan-page .caivan-info-form__foot a {
    color: #ffffff;
    background: #101827;
}

.caivan-page .caivan-star-card__icon,
.caivan-page .caivan-panel__head > i,
.caivan-page .caivan-task-card__day,
.caivan-page .caivan-task-focus__empty span,
.caivan-page .caivan-task-focus__head span,
.caivan-page .caivan-task-focus__state--ready,
.caivan-page .caivan-task-state--ready {
    background: #eef5ff;
    color: #1d4ed8;
}

.caivan-page .caivan-task-card::before {
    background: linear-gradient(90deg, #be123c, #2563eb);
}

.caivan-page .caivan-task-card__meta,
.caivan-page .caivan-task-card__meta b,
.caivan-page .caivan-task-focus__foot span {
    color: #334155;
}

.caivan-page .caivan-task-card--compact:hover,
.caivan-page .caivan-task-card--compact:focus-visible,
.caivan-page .caivan-task-card--compact.is-selected {
    border-color: rgba(37, 99, 235, 0.34);
    box-shadow: 0 16px 34px rgba(37, 99, 235, 0.12);
}

.caivan-page .caivan-task-card--compact.is-selected {
    background: linear-gradient(180deg, #eef5ff, #ffffff);
}

.caivan-page .caivan-task-focus__done,
.caivan-page .caivan-task-state--done {
    background: #16a34a;
    color: #ffffff;
}

.caivan-page .caivan-task-focus__done {
    background: #eafaf0;
    color: #15803d;
}

.caivan-page .caivan-toast.is-error {
    background: #be123c;
}

.caivan-page.caivan-theme-dark,
html.caivan-theme-dark-root .caivan-page {
    --caivan-card: rgba(15, 23, 42, 0.92);
    --caivan-card-strong: #111827;
    --caivan-text: #dbeafe;
    --caivan-heading: #ffffff;
    --caivan-muted: #a9b8d6;
    --caivan-line: rgba(96, 165, 250, 0.18);
    --caivan-line-strong: rgba(244, 63, 94, 0.26);
    --caivan-gold: #60a5fa;
    --caivan-gold-2: #fb7185;
    --caivan-gold-soft: rgba(37, 99, 235, 0.16);
    --caivan-red: #fb7185;
    --caivan-green: #22c55e;
    --caivan-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
    --caivan-soft-shadow: 0 14px 36px rgba(0, 0, 0, 0.24);
    background:
        radial-gradient(circle at 10% 8%, rgba(37, 99, 235, 0.24), transparent 30%),
        radial-gradient(circle at 88% 12%, rgba(244, 63, 94, 0.18), transparent 28%),
        linear-gradient(180deg, #07111f 0%, #0f172a 48%, #050816 100%);
}

.caivan-page.caivan-theme-dark .caivan-theme-switch button,
html.caivan-theme-dark-root .caivan-page .caivan-theme-switch button {
    background: rgba(15, 23, 42, 0.88);
    color: #dbeafe;
    border-color: rgba(96, 165, 250, 0.2);
}

.caivan-page.caivan-theme-dark .caivan-theme-switch button.is-active,
html.caivan-theme-dark-root .caivan-page .caivan-theme-switch button.is-active {
    background: linear-gradient(135deg, #fb7185, #60a5fa);
    color: #07111f;
}

.caivan-page.caivan-theme-dark .caivan-kicker,
.caivan-page.caivan-theme-dark .caivan-panel__label,
.caivan-page.caivan-theme-dark .caivan-section-title span,
html.caivan-theme-dark-root .caivan-page .caivan-kicker,
html.caivan-theme-dark-root .caivan-page .caivan-panel__label,
html.caivan-theme-dark-root .caivan-page .caivan-section-title span {
    background: rgba(96, 165, 250, 0.12);
    border-color: rgba(96, 165, 250, 0.18);
    color: #93c5fd;
}

.caivan-page.caivan-theme-dark .caivan-btn--gold,
.caivan-page.caivan-theme-dark .caivan-mini-btn,
html.caivan-theme-dark-root .caivan-page .caivan-btn--gold,
html.caivan-theme-dark-root .caivan-page .caivan-mini-btn {
    color: #07111f;
    background: linear-gradient(135deg, #fb7185 0%, #60a5fa 100%);
    box-shadow: 0 14px 30px rgba(96, 165, 250, 0.2);
}

.caivan-page.caivan-theme-dark .caivan-btn--ghost,
html.caivan-theme-dark-root .caivan-page .caivan-btn--ghost {
    color: #dbeafe;
    background: rgba(15, 23, 42, 0.78);
    border-color: rgba(96, 165, 250, 0.18);
}

.caivan-page.caivan-theme-dark .caivan-quick-stats > div,
.caivan-page.caivan-theme-dark .caivan-detail-stats > div,
.caivan-page.caivan-theme-dark .caivan-laso-summary > div,
.caivan-page.caivan-theme-dark .caivan-empty,
.caivan-page.caivan-theme-dark .caivan-info-form label,
.caivan-page.caivan-theme-dark .caivan-info-form__foot > div,
html.caivan-theme-dark-root .caivan-page .caivan-quick-stats > div,
html.caivan-theme-dark-root .caivan-page .caivan-detail-stats > div,
html.caivan-theme-dark-root .caivan-page .caivan-laso-summary > div,
html.caivan-theme-dark-root .caivan-page .caivan-empty,
html.caivan-theme-dark-root .caivan-page .caivan-info-form label,
html.caivan-theme-dark-root .caivan-page .caivan-info-form__foot > div {
    background: rgba(15, 23, 42, 0.62);
    border-color: rgba(96, 165, 250, 0.14);
}

.caivan-page.caivan-theme-dark .caivan-info-form,
.caivan-page.caivan-theme-dark .caivan-task-focus,
html.caivan-theme-dark-root .caivan-page .caivan-info-form,
html.caivan-theme-dark-root .caivan-page .caivan-task-focus {
    background: linear-gradient(145deg, rgba(15, 23, 42, 0.94), rgba(17, 24, 39, 0.84));
    border-color: rgba(96, 165, 250, 0.16);
}

.caivan-page.caivan-theme-dark .caivan-info-form__foot a,
html.caivan-theme-dark-root .caivan-page .caivan-info-form__foot a {
    color: #07111f;
    background: #dbeafe;
}

.caivan-page.caivan-theme-dark .caivan-info-form label strong,
.caivan-page.caivan-theme-dark .caivan-info-form__foot strong,
.caivan-page.caivan-theme-dark .caivan-top-item strong,
.caivan-page.caivan-theme-dark .caivan-milestone-card strong,
html.caivan-theme-dark-root .caivan-page .caivan-info-form label strong,
html.caivan-theme-dark-root .caivan-page .caivan-info-form__foot strong,
html.caivan-theme-dark-root .caivan-page .caivan-top-item strong,
html.caivan-theme-dark-root .caivan-page .caivan-milestone-card strong {
    color: #ffffff;
}

.caivan-page.caivan-theme-dark .caivan-star-card__icon,
.caivan-page.caivan-theme-dark .caivan-panel__head > i,
.caivan-page.caivan-theme-dark .caivan-task-card__day,
.caivan-page.caivan-theme-dark .caivan-task-focus__empty span,
.caivan-page.caivan-theme-dark .caivan-task-focus__head span,
.caivan-page.caivan-theme-dark .caivan-task-focus__state--ready,
.caivan-page.caivan-theme-dark .caivan-task-state--ready,
html.caivan-theme-dark-root .caivan-page .caivan-star-card__icon,
html.caivan-theme-dark-root .caivan-page .caivan-panel__head > i,
html.caivan-theme-dark-root .caivan-page .caivan-task-card__day,
html.caivan-theme-dark-root .caivan-page .caivan-task-focus__empty span,
html.caivan-theme-dark-root .caivan-page .caivan-task-focus__head span,
html.caivan-theme-dark-root .caivan-page .caivan-task-focus__state--ready,
html.caivan-theme-dark-root .caivan-page .caivan-task-state--ready {
    background: rgba(96, 165, 250, 0.14);
    color: #93c5fd;
}

.caivan-page.caivan-theme-dark .caivan-task-card--compact.is-selected,
html.caivan-theme-dark-root .caivan-page .caivan-task-card--compact.is-selected {
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.16), rgba(15, 23, 42, 0.92));
}

.caivan-page.caivan-theme-dark .caivan-orb,
html.caivan-theme-dark-root .caivan-page .caivan-orb {
    background: radial-gradient(circle at 36% 32%, #1e293b, #172554 48%, #0f172a 76%);
    box-shadow: inset 0 0 38px rgba(96, 165, 250, 0.18), 0 22px 44px rgba(0, 0, 0, 0.28);
}

.caivan-page.caivan-theme-dark .caivan-orb__moon,
html.caivan-theme-dark-root .caivan-page .caivan-orb__moon {
    background: radial-gradient(circle, #dbeafe, #60a5fa 52%, #fb7185);
}

.caivan-page.caivan-theme-dark .caivan-orb__text,
html.caivan-theme-dark-root .caivan-page .caivan-orb__text {
    color: #ffffff;
}

/* =========================================================
   V1.6 - Giao diện Cải Vận dùng ảnh phẳng trong assets/caivan
   Tất cả ảnh đặt chung một thư mục assets/caivan, không dùng icons/backgrounds/stars.
   ========================================================= */
.caivan-page {
    --cv-red: #9f1119;
    --cv-red-2: #c41e2b;
    --cv-blue: #0f6ea8;
    --cv-blue-2: #173b78;
    --cv-gold: #d8a43a;
    --cv-gold-2: #ffe5a0;
    --cv-ink: #21170f;
    --cv-muted: #71665c;
    --cv-line: rgba(152, 103, 37, .18);
    --cv-card: rgba(255,255,255,.92);
    --cv-shadow: 0 18px 48px rgba(76, 48, 16, .11);
    background:
        radial-gradient(circle at 5% 0%, rgba(220, 35, 48, .08), transparent 26%),
        radial-gradient(circle at 92% 4%, rgba(15, 110, 168, .08), transparent 28%),
        linear-gradient(180deg, #fffdf8 0%, #fff9ef 46%, #ffffff 100%) !important;
    color: var(--cv-ink) !important;
}
.caivan-page.caivan-theme-dark {
    --cv-red: #db2f4b;
    --cv-red-2: #ff4b67;
    --cv-blue: #42a5ff;
    --cv-blue-2: #1d4ed8;
    --cv-gold: #f4c661;
    --cv-gold-2: #fff1b8;
    --cv-ink: #f6f0df;
    --cv-muted: #b8c4d7;
    --cv-line: rgba(244,198,97,.24);
    --cv-card: rgba(8,19,38,.82);
    --cv-shadow: 0 22px 60px rgba(0,0,0,.42);
    background:
        linear-gradient(180deg, rgba(5, 11, 24, .98), rgba(8, 18, 35, .98)),
        #061123 !important;
    color: var(--cv-ink) !important;
}
.caivan-wrap { width: min(1520px, calc(100% - 36px)) !important; }
.caivan-main { position: relative; }
.caivan-hero,
.caivan-detail-hero {
    position: relative;
    isolation: isolate;
    padding-top: 34px !important;
    padding-bottom: 24px !important;
}
.caivan-hero__bg,
.caivan-detail-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: url('../caivan/hero-light.webp');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    opacity: .86;
    pointer-events: none;
}
.caivan-detail-bg { background-image: url('../caivan/detail-light.webp'); }
.caivan-theme-dark .caivan-hero__bg { background-image: url('../caivan/hero-dark.webp'); opacity: .9; }
.caivan-theme-dark .caivan-detail-bg { background-image: url('../caivan/detail-dark.webp'); opacity: .9; }
.caivan-theme-dark .caivan-hero::after,
.caivan-theme-dark .caivan-detail-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(4, 9, 20, .18), rgba(4, 9, 20, .70));
    pointer-events: none;
}
.caivan-hero__inner {
    grid-template-columns: minmax(0, 1.18fr) minmax(380px, .62fr) !important;
    gap: 22px !important;
}
.caivan-hero__content,
.caivan-hero__card,
.caivan-panel,
.caivan-detail-card,
.caivan-task-focus,
.caivan-task-card,
.caivan-milestone-card {
    border-color: var(--cv-line) !important;
    background: var(--cv-card) !important;
    box-shadow: var(--cv-shadow) !important;
}
.caivan-theme-dark .caivan-hero__content,
.caivan-theme-dark .caivan-hero__card,
.caivan-theme-dark .caivan-panel,
.caivan-theme-dark .caivan-detail-card,
.caivan-theme-dark .caivan-task-focus,
.caivan-theme-dark .caivan-task-card,
.caivan-theme-dark .caivan-milestone-card {
    background: rgba(7, 18, 36, .78) !important;
    border-color: rgba(244,198,97,.22) !important;
}
.caivan-hero__content {
    min-height: 270px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 28px !important;
}
.caivan-hero__card {
    min-height: 270px !important;
    border-radius: 28px !important;
}
.caivan-kicker,
.caivan-panel__label,
.caivan-section-title span {
    color: var(--cv-red) !important;
    background: rgba(159, 17, 25, .07) !important;
    border-color: rgba(159, 17, 25, .18) !important;
}
.caivan-theme-dark .caivan-kicker,
.caivan-theme-dark .caivan-panel__label,
.caivan-theme-dark .caivan-section-title span {
    color: var(--cv-gold-2) !important;
    background: rgba(244,198,97,.10) !important;
    border-color: rgba(244,198,97,.22) !important;
}
.caivan-hero h1,
.caivan-detail-card h1,
.caivan-section-title h2,
.caivan-panel h2,
.caivan-star-card h3 {
    color: var(--cv-ink) !important;
}
.caivan-hero p,
.caivan-detail-card p,
.caivan-section-title p,
.caivan-star-card p,
.caivan-empty p {
    color: var(--cv-muted) !important;
}
.caivan-btn--gold,
.caivan-mini-btn,
.caivan-mini-btn--button {
    color: #fff !important;
    background: linear-gradient(135deg, var(--cv-red), var(--cv-blue)) !important;
    box-shadow: 0 14px 30px rgba(20, 78, 150, .18) !important;
}
.caivan-theme-dark .caivan-btn--gold,
.caivan-theme-dark .caivan-mini-btn,
.caivan-theme-dark .caivan-mini-btn--button {
    color: #102033 !important;
    background: linear-gradient(135deg, #fff2b5, #d89a2a) !important;
    box-shadow: 0 16px 36px rgba(244,198,97,.20) !important;
}
.caivan-btn--ghost {
    color: var(--cv-red) !important;
    background: rgba(255,255,255,.68) !important;
    border-color: rgba(159,17,25,.22) !important;
}
.caivan-theme-dark .caivan-btn--ghost {
    color: var(--cv-gold-2) !important;
    background: rgba(15,28,50,.70) !important;
    border-color: rgba(244,198,97,.25) !important;
}
.caivan-orb {
    background: url('../caivan/progress-light.webp') center/contain no-repeat !important;
    box-shadow: none !important;
}
.caivan-theme-dark .caivan-orb { background-image: url('../caivan/progress-dark.webp') !important; }
.caivan-orb__moon,
.caivan-orb__ring { display: none !important; }
.caivan-orb__text { color: var(--cv-ink) !important; text-shadow: none !important; }
.caivan-theme-dark .caivan-orb__text { color: #fff4bf !important; }
.caivan-status-grid { grid-template-columns: minmax(0, 1.15fr) minmax(320px, .45fr) !important; }
.caivan-info-form {
    border-color: rgba(159,17,25,.12) !important;
    background: rgba(255,255,255,.74) !important;
}
.caivan-theme-dark .caivan-info-form {
    background: rgba(4,14,30,.52) !important;
    border-color: rgba(244,198,97,.18) !important;
}
.caivan-info-form label,
.caivan-laso-summary > div,
.caivan-quick-stats > div,
.caivan-detail-stats > div {
    background: rgba(255,255,255,.70) !important;
    border-color: rgba(159,17,25,.12) !important;
}
.caivan-theme-dark .caivan-info-form label,
.caivan-theme-dark .caivan-laso-summary > div,
.caivan-theme-dark .caivan-quick-stats > div,
.caivan-theme-dark .caivan-detail-stats > div {
    background: rgba(10,24,46,.62) !important;
    border-color: rgba(244,198,97,.14) !important;
}
.caivan-star-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}
.caivan-star-card.caivan-star-card--image {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    min-height: 350px;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(159,17,25,.12) !important;
}
.caivan-theme-dark .caivan-star-card.caivan-star-card--image {
    background: rgba(7,18,36,.88) !important;
    border-color: rgba(244,198,97,.24) !important;
}
.caivan-star-card.caivan-star-card--image::after { display: none !important; }
.caivan-star-card__photo {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    text-decoration: none;
    position: relative;
}
.caivan-star-card__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.30));
}
.caivan-star-card--image .caivan-star-card__content {
    padding: 16px 18px 0;
    flex: 1;
}
.caivan-star-card--image .caivan-star-card__content span {
    background: rgba(15,110,168,.08) !important;
    color: var(--cv-blue) !important;
    margin-bottom: 10px !important;
}
.caivan-theme-dark .caivan-star-card--image .caivan-star-card__content span {
    background: rgba(244,198,97,.10) !important;
    color: var(--cv-gold-2) !important;
}
.caivan-star-card--image .caivan-mini-btn {
    margin: 14px 18px 18px !important;
    width: auto !important;
    grid-column: auto !important;
}
.caivan-detail-card {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    border-radius: 30px !important;
    overflow: hidden;
}
.caivan-star-seal--image {
    padding: 0 !important;
    overflow: hidden;
    background: rgba(255,255,255,.72) !important;
}
.caivan-theme-dark .caivan-star-seal--image { background: rgba(6,18,36,.74) !important; }
.caivan-star-seal__photo {
    width: 100%;
    aspect-ratio: 1 / 1;
    background-position: center;
    background-size: cover;
    border-bottom: 1px solid var(--cv-line);
}
.caivan-star-seal--image strong { padding: 16px 16px 0; }
.caivan-star-seal--image span { padding: 0 16px 18px; display: block; }
.caivan-progress-line {
    background: rgba(15,110,168,.10) !important;
    border-color: rgba(15,110,168,.16) !important;
}
.caivan-progress-line div { background: linear-gradient(90deg, var(--cv-red), var(--cv-blue)) !important; }
.caivan-theme-dark .caivan-progress-line div { background: linear-gradient(90deg, #d42d49, #f5c24b) !important; }
.caivan-task-focus {
    border-radius: 24px;
    padding: 22px;
    margin-bottom: 20px;
}
.caivan-task-card--compact.is-done .caivan-task-state--done {
    background: #16a34a !important;
    color: #fff !important;
}
.caivan-milestone-card:nth-child(1)::before,
.caivan-milestone-card:nth-child(2)::before,
.caivan-milestone-card:nth-child(3)::before,
.caivan-milestone-card:nth-child(4)::before,
.caivan-milestone-card:nth-child(5)::before {
    content: "";
    display: block;
    width: 54px;
    height: 54px;
    margin-bottom: 10px;
    background: url('../caivan/milestone-light.webp') center/contain no-repeat;
}
.caivan-theme-dark .caivan-milestone-card::before { background-image: url('../caivan/milestone-dark.webp') !important; }
@media (max-width: 1200px) {
    .caivan-star-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .caivan-detail-card { grid-template-columns: 1fr !important; }
}
@media (max-width: 900px) {
    .caivan-wrap { width: min(100% - 20px, 720px) !important; }
    .caivan-hero__inner,
    .caivan-status-grid { grid-template-columns: 1fr !important; }
    .caivan-star-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .caivan-star-card.caivan-star-card--image { min-height: 300px; }
}
@media (max-width: 560px) {
    .caivan-star-grid { grid-template-columns: 1fr !important; }
    .caivan-star-card.caivan-star-card--image { min-height: auto; }
    .caivan-hero h1, .caivan-detail-card h1 { font-size: 34px !important; }
}

/* =========================================================
   V1.7 - Chỉnh lại sát demo sáng/tối: rộng, ảnh sao 6 cột, hero đúng nhịp
   ========================================================= */
.caivan-page {
    --cv-radius-xl: 26px;
    --cv-radius-md: 18px;
    --cv-container: 1580px;
}
.caivan-wrap {
    width: min(var(--cv-container), calc(100% - 52px)) !important;
}
.caivan-theme-switch {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    padding-top: 12px !important;
    margin-bottom: -2px !important;
}
.caivan-theme-switch button {
    height: 32px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(136, 20, 28, .14) !important;
    background: rgba(255,255,255,.74) !important;
    color: #7b1720 !important;
    font-weight: 850 !important;
    font-size: 12px !important;
}
.caivan-theme-dark .caivan-theme-switch button {
    border-color: rgba(244,198,97,.22) !important;
    background: rgba(8,18,36,.76) !important;
    color: #f6d98c !important;
}
.caivan-theme-switch button.is-active {
    background: linear-gradient(135deg, #8f1119, #c79b3a) !important;
    color: #fff7df !important;
}
.caivan-hero {
    padding: 28px 0 18px !important;
    min-height: 314px !important;
}
.caivan-hero__inner {
    grid-template-columns: minmax(0, 1.35fr) minmax(500px, .82fr) !important;
    align-items: stretch !important;
    gap: 28px !important;
}
.caivan-hero__content {
    min-height: 280px !important;
    padding: 38px 52px !important;
    background: linear-gradient(90deg, rgba(255,255,255,.93), rgba(255,255,255,.72)) !important;
    border: 1px solid rgba(139, 30, 38, .09) !important;
    box-shadow: 0 18px 46px rgba(58, 24, 13, .08) !important;
}
.caivan-theme-dark .caivan-hero__content {
    background: linear-gradient(90deg, rgba(7,18,36,.78), rgba(7,18,36,.50)) !important;
    border-color: rgba(244,198,97,.18) !important;
    box-shadow: 0 26px 70px rgba(0,0,0,.42) !important;
}
.caivan-hero h1 {
    max-width: 760px !important;
    font-size: clamp(48px, 4.6vw, 74px) !important;
    line-height: .98 !important;
    letter-spacing: -.052em !important;
    margin-top: 20px !important;
}
.caivan-hero p {
    max-width: 710px !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}
.caivan-hero__card {
    min-height: 280px !important;
    padding: 28px 32px !important;
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(139,30,38,.10) !important;
}
.caivan-theme-dark .caivan-hero__card {
    background: rgba(7,18,36,.74) !important;
    border-color: rgba(244,198,97,.20) !important;
}
.caivan-orb {
    width: 132px !important;
    height: 132px !important;
    margin-bottom: 22px !important;
}
.caivan-orb__text {
    font-size: 28px !important;
    line-height: .92 !important;
}
.caivan-quick-stats {
    grid-template-columns: repeat(3, 1fr) !important;
}
.caivan-quick-stats > div {
    border-radius: 16px !important;
    min-height: 72px !important;
}
.caivan-status-grid {
    margin-top: 24px !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(360px, .55fr) !important;
    gap: 24px !important;
}
.caivan-panel {
    border-radius: 26px !important;
    padding: 22px !important;
}
.caivan-panel--summary .caivan-panel__head,
.caivan-panel--top .caivan-panel__head {
    margin-bottom: 14px !important;
}
.caivan-info-form__grid {
    grid-template-columns: 1.3fr .9fr .9fr .9fr !important;
}
.caivan-laso-summary {
    grid-template-columns: repeat(4, 1fr) !important;
}
.caivan-section-title {
    margin-top: 44px !important;
    margin-bottom: 22px !important;
}
.caivan-section-title span {
    display: inline-flex !important;
    min-height: 26px !important;
    align-items: center !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    margin-bottom: 10px !important;
}
.caivan-section-title h2 {
    font-size: 32px !important;
    letter-spacing: -.025em !important;
}
.caivan-star-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 16px !important;
}
.caivan-star-card.caivan-star-card--image {
    min-height: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(150, 95, 20, .18) !important;
    box-shadow: 0 12px 28px rgba(40, 20, 5, .08) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.caivan-star-card.caivan-star-card--image:hover,
.caivan-star-card.caivan-star-card--image.is-active {
    transform: translateY(-2px) !important;
    border-color: rgba(210, 160, 64, .78) !important;
    box-shadow: 0 18px 42px rgba(120, 74, 10, .16) !important;
}
.caivan-theme-dark .caivan-star-card.caivan-star-card--image {
    background: rgba(8,18,36,.86) !important;
    border-color: rgba(244,198,97,.20) !important;
    box-shadow: 0 16px 44px rgba(0,0,0,.32) !important;
}
.caivan-theme-dark .caivan-star-card.caivan-star-card--image:hover,
.caivan-theme-dark .caivan-star-card.caivan-star-card--image.is-active {
    border-color: rgba(244,198,97,.78) !important;
    box-shadow: 0 0 0 1px rgba(244,198,97,.24), 0 18px 52px rgba(0,0,0,.46) !important;
}
.caivan-star-card__num {
    position: absolute !important;
    z-index: 5 !important;
    top: 12px !important;
    left: 12px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    display: grid !important;
    place-items: center !important;
    font-style: normal !important;
    font-weight: 950 !important;
    color: #fff7df !important;
    background: linear-gradient(135deg, #7c1118, #d5a13a) !important;
    box-shadow: 0 10px 22px rgba(80, 35, 0, .22) !important;
}
.caivan-theme-dark .caivan-star-card__num {
    color: #07111f !important;
    background: linear-gradient(135deg, #f5c24b, #fff0ad) !important;
}
.caivan-star-card__photo {
    aspect-ratio: 1.25 / 1 !important;
    border-bottom: 1px solid rgba(150,95,20,.18) !important;
}
.caivan-star-card__photo::after {
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.42) 100%) !important;
}
.caivan-star-card--image .caivan-star-card__content {
    padding: 14px 14px 4px !important;
    text-align: center !important;
}
.caivan-star-card--image .caivan-star-card__content h3 {
    font-size: 20px !important;
    margin: 0 0 6px !important;
    color: var(--cv-red) !important;
}
.caivan-theme-dark .caivan-star-card--image .caivan-star-card__content h3 {
    color: #f7db91 !important;
}
.caivan-star-card--image .caivan-star-card__content span,
.caivan-star-card--image .caivan-star-card__content small {
    display: block !important;
    min-height: auto !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--cv-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
.caivan-star-card--image .caivan-star-card__content small {
    color: #b87d17 !important;
    font-weight: 850 !important;
}
.caivan-theme-dark .caivan-star-card--image .caivan-star-card__content small {
    color: #f5c24b !important;
}
.caivan-star-card--image p { display: none !important; }
.caivan-star-card--image .caivan-mini-btn {
    min-height: 34px !important;
    margin: 10px 14px 14px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--cv-red) !important;
    box-shadow: none !important;
    border: 1px solid rgba(159,17,25,.18) !important;
}
.caivan-theme-dark .caivan-star-card--image .caivan-mini-btn {
    color: #f5c24b !important;
    border-color: rgba(244,198,97,.22) !important;
}
/* khối giống dashboard demo */
.caivan-milestones {
    padding-top: 8px !important;
}
.caivan-milestone-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.caivan-milestone-card {
    border-radius: 20px !important;
    min-height: 132px !important;
}
.caivan-milestone-card::before {
    filter: drop-shadow(0 8px 18px rgba(160,110,28,.18));
}
.caivan-detail-card {
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .42fr) !important;
    align-items: stretch !important;
}
.caivan-detail-card__left {
    min-width: 0 !important;
}
.caivan-star-seal__photo {
    aspect-ratio: 16 / 13 !important;
}
.caivan-task-list--compact {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.caivan-task-card--compact {
    min-height: 142px !important;
    border-radius: 18px !important;
    cursor: pointer !important;
}
.caivan-task-card--compact.is-done {
    border-color: rgba(22, 163, 74, .42) !important;
}
.caivan-task-card--compact.is-done .caivan-task-state--done {
    display: inline-grid !important;
    width: 28px !important;
    height: 28px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #16a34a !important;
    color: #fff !important;
}
.caivan-task-focus {
    background-image: linear-gradient(135deg, rgba(255,255,255,.90), rgba(255,248,231,.88)) !important;
}
.caivan-theme-dark .caivan-task-focus {
    background-image: linear-gradient(135deg, rgba(10,24,46,.90), rgba(4,12,26,.82)) !important;
}
.caivan-panel--top .caivan-panel__head > i {
    background-image: url('../caivan/score-light.webp') !important;
    background-size: 80% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    color: transparent !important;
}
.caivan-theme-dark .caivan-panel--top .caivan-panel__head > i {
    background-image: url('../caivan/score-dark.webp') !important;
}
.caivan-page .caivan-progress-line {
    height: 10px !important;
}
@media (min-width: 1281px) {
    .caivan-panel--summary { min-height: 276px !important; }
    .caivan-panel--top { min-height: 276px !important; }
}
@media (max-width: 1280px) {
    .caivan-wrap { width: min(100% - 32px, 1180px) !important; }
    .caivan-hero__inner { grid-template-columns: 1fr !important; }
    .caivan-star-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .caivan-task-list--compact { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 860px) {
    .caivan-wrap { width: min(100% - 20px, 720px) !important; }
    .caivan-status-grid,
    .caivan-info-form__grid,
    .caivan-info-form__foot,
    .caivan-detail-card { grid-template-columns: 1fr !important; }
    .caivan-star-grid { display: flex !important; overflow-x: auto !important; padding-bottom: 12px !important; scroll-snap-type: x mandatory !important; }
    .caivan-star-card.caivan-star-card--image { min-width: 240px !important; scroll-snap-align: start !important; }
    .caivan-task-list--compact { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .caivan-hero__content { padding: 28px 22px !important; }
}
@media (max-width: 560px) {
    .caivan-hero h1 { font-size: 38px !important; }
    .caivan-task-list--compact { grid-template-columns: 1fr !important; }
    .caivan-milestone-grid { grid-template-columns: 1fr !important; }
}

/* ===== V8: bám demo, sửa layout rộng, % ảnh hưởng, dashboard góc phải ===== */
.caivan-page .caivan-wrap{max-width:min(1560px,calc(100vw - 56px)) !important;width:100% !important;}
.caivan-page .caivan-main{padding-left:0 !important;padding-right:0 !important;}
.caivan-page .caivan-theme-switch{margin-top:12px !important;justify-content:flex-end !important;gap:8px !important;}
.caivan-page .caivan-hero{padding:18px 0 20px !important;}
.caivan-page .caivan-hero__inner{display:grid !important;grid-template-columns:minmax(0,1.35fr) minmax(430px,.95fr) !important;gap:24px !important;align-items:stretch !important;}
.caivan-page .caivan-hero__content{min-height:248px !important;border:1px solid rgba(194,148,61,.38) !important;border-radius:22px !important;padding:34px 42px !important;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,250,240,.82)),url('../caivan/hero-light.webp') center/cover no-repeat !important;box-shadow:0 18px 50px rgba(31,41,55,.08) !important;}
.caivan-theme-dark .caivan-hero__content{background:linear-gradient(135deg,rgba(7,18,32,.82),rgba(3,11,22,.94)),url('../caivan/hero-dark.webp') center/cover no-repeat !important;border-color:rgba(216,171,77,.42) !important;box-shadow:0 18px 60px rgba(0,0,0,.32) !important;}
.caivan-page .caivan-hero__content h1{font-size:clamp(42px,4.2vw,76px) !important;line-height:1.02 !important;letter-spacing:-.04em !important;margin:14px 0 14px !important;}
.caivan-page .caivan-hero__content p{max-width:720px !important;font-size:17px !important;line-height:1.8 !important;}
.caivan-page .caivan-hero__card--laso{min-height:248px !important;border-radius:22px !important;padding:26px !important;background:rgba(255,255,255,.92) !important;border:1px solid rgba(194,148,61,.38) !important;box-shadow:0 18px 50px rgba(31,41,55,.08) !important;}
.caivan-theme-dark .caivan-hero__card--laso{background:rgba(5,17,33,.86) !important;border-color:rgba(216,171,77,.36) !important;box-shadow:0 18px 60px rgba(0,0,0,.35) !important;}
.caivan-hero-laso__top{display:flex;align-items:center;gap:18px;margin-bottom:18px;}
.caivan-hero-laso__top span{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#9b1c1f;}.caivan-theme-dark .caivan-hero-laso__top span{color:#f5c76b;}
.caivan-hero-laso__top h2{font-size:24px;font-weight:900;margin:2px 0 0;color:#17120c;}.caivan-theme-dark .caivan-hero-laso__top h2{color:#fff7da;}
.caivan-orb--small{width:82px !important;height:82px !important;min-width:82px !important;background:url('../caivan/progress-light.webp') center/contain no-repeat !important;}.caivan-theme-dark .caivan-orb--small{background-image:url('../caivan/progress-dark.webp') !important;}
.caivan-hero-laso__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.caivan-hero-laso__grid div{border:1px solid rgba(194,148,61,.26);border-radius:14px;padding:14px;background:rgba(255,255,255,.55)}.caivan-theme-dark .caivan-hero-laso__grid div{background:rgba(3,13,28,.56);border-color:rgba(148,163,184,.18)}
.caivan-hero-laso__grid span{display:block;font-size:12px;color:#7a6a58;margin-bottom:5px}.caivan-theme-dark .caivan-hero-laso__grid span{color:#9fb0c7}.caivan-hero-laso__grid strong{font-size:16px;color:#21160c}.caivan-theme-dark .caivan-hero-laso__grid strong{color:#fff}
.caivan-laso-summary--hero{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;background:rgba(157,20,28,.06) !important;border:1px solid rgba(157,20,28,.12) !important;border-radius:14px !important;padding:12px !important}.caivan-theme-dark .caivan-laso-summary--hero{background:rgba(10,30,56,.72) !important;border-color:rgba(216,171,77,.24) !important}
.caivan-laso-summary--hero div{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.45)}.caivan-theme-dark .caivan-laso-summary--hero div{background:rgba(0,0,0,.15)}
.caivan-page .caivan-status-grid{grid-template-columns:minmax(0,1fr) 360px !important;gap:18px !important;margin-top:16px !important;}.caivan-page .caivan-panel{border-radius:22px !important;}
.caivan-page .caivan-section-title{margin-top:26px !important;margin-bottom:18px !important;}.caivan-page .caivan-section-title h2{font-size:32px !important;line-height:1.15 !important;}
.caivan-page .caivan-star-grid{display:grid !important;grid-template-columns:repeat(6,minmax(0,1fr)) !important;gap:14px !important;align-items:stretch !important;}
.caivan-page .caivan-star-card--image{min-height:220px !important;border-radius:16px !important;overflow:hidden !important;background:rgba(255,255,255,.92) !important;border:1px solid rgba(194,148,61,.3) !important;padding:0 !important;position:relative !important;}.caivan-theme-dark .caivan-star-card--image{background:rgba(3,13,28,.92) !important;border-color:rgba(216,171,77,.28) !important;}
.caivan-page .caivan-star-card--image.is-active{border-color:#d9a441 !important;box-shadow:0 0 0 1px #d9a441,0 18px 40px rgba(217,164,65,.16) !important;}
.caivan-page .caivan-star-card__num{position:absolute;z-index:3;top:10px;left:10px;background:linear-gradient(135deg,#ffe28a,#bd7c12);color:#231407;border-radius:10px;padding:6px 9px;font-weight:900;font-style:normal;font-size:13px;}
.caivan-page .caivan-star-card__photo{display:block !important;height:128px !important;background-size:cover !important;background-position:center 28% !important;border-radius:0 !important;}
.caivan-page .caivan-star-card__content{padding:12px 12px 6px !important;text-align:center !important;}.caivan-page .caivan-star-card__content h3{font-size:19px !important;line-height:1.15 !important;margin:0 0 5px !important;}.caivan-page .caivan-star-card__content span,.caivan-page .caivan-star-card__content small{display:block;font-size:12px !important;color:#9b1c1f !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.caivan-theme-dark .caivan-star-card__content span,.caivan-theme-dark .caivan-star-card__content small{color:#f5c76b !important;}
.caivan-page .caivan-mini-btn{margin:0 12px 12px !important;height:34px !important;border-radius:999px !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:13px !important;}
.caivan-detail-main .caivan-detail-hero__inner{max-width:min(1560px,calc(100vw - 56px)) !important;}
.caivan-detail-card{display:grid !important;grid-template-columns:minmax(0,1fr) 360px !important;gap:24px !important;background:rgba(255,255,255,.92) !important;background-image:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,250,240,.84)),url('../caivan/detail-light.webp') !important;background-size:cover !important;background-position:center !important;}.caivan-theme-dark .caivan-detail-card{background-image:linear-gradient(135deg,rgba(3,13,28,.88),rgba(3,10,22,.96)),url('../caivan/detail-dark.webp') !important;background-color:#061020 !important;}
.caivan-detail-impact-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;margin:20px 0 16px;}
.caivan-impact-ring{--impact:70;width:138px;height:138px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#1d4ed8 calc(var(--impact)*1%),rgba(30,64,175,.12) 0);position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 18px 42px rgba(30,64,175,.18)}.caivan-impact-ring:before{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--cv-panel,#fff)}.caivan-impact-ring span,.caivan-impact-ring small{position:relative;z-index:1}.caivan-impact-ring span{font-size:36px;font-weight:900;color:#d9a441}.caivan-impact-ring small{display:block;font-weight:800;color:#8a1d24}.caivan-theme-dark .caivan-impact-ring{background:conic-gradient(#e0ad43 calc(var(--impact)*1%),rgba(224,173,67,.12) 0)}.caivan-theme-dark .caivan-impact-ring:before{background:#071426}.caivan-theme-dark .caivan-impact-ring small{color:#f3c96d}
.caivan-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.caivan-task-section{max-width:min(1440px,calc(100vw - 56px)) !important;}
.caivan-task-focus{border-radius:22px !important;background:rgba(255,255,255,.92) !important;border:1px solid rgba(194,148,61,.28) !important;}.caivan-theme-dark .caivan-task-focus{background:rgba(4,15,31,.92) !important;border-color:rgba(216,171,77,.26) !important;}
.caivan-task-list--compact{grid-template-columns:repeat(6,minmax(0,1fr)) !important;gap:14px !important;}.caivan-task-card--compact{min-height:128px !important;border-radius:16px !important;}.caivan-task-card--compact h3{font-size:15px !important;line-height:1.25 !important;}
@media(max-width:1180px){.caivan-page .caivan-hero__inner,.caivan-detail-card{grid-template-columns:1fr !important}.caivan-page .caivan-status-grid{grid-template-columns:1fr !important}.caivan-page .caivan-star-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}.caivan-task-list--compact{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(max-width:720px){.caivan-page .caivan-wrap{max-width:calc(100vw - 24px) !important}.caivan-page .caivan-hero__content{padding:24px !important}.caivan-hero-laso__grid,.caivan-laso-summary--hero{grid-template-columns:1fr !important}.caivan-page .caivan-star-grid{display:flex !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important}.caivan-page .caivan-star-card--image{min-width:240px !important;scroll-snap-align:start}.caivan-task-list--compact{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.caivan-detail-impact-row{grid-template-columns:1fr !important}.caivan-impact-ring{margin:auto}}

/* ===== V9: sửa phần đầu trang theo demo, bỏ khối thông tin cá nhân dưới ===== */
.caivan-page .caivan-hero{
    padding:18px 0 18px !important;
}
.caivan-page .caivan-hero__inner{
    grid-template-columns:minmax(0,1.22fr) minmax(520px,.78fr) !important;
    gap:24px !important;
    align-items:stretch !important;
}
.caivan-page .caivan-hero__content{
    min-height:286px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:42px 48px !important;
    border-radius:22px !important;
    background:
        linear-gradient(90deg,rgba(7,18,32,.94) 0%,rgba(7,18,32,.72) 48%,rgba(7,18,32,.28) 100%),
        url('../caivan/hero-dark.webp') center/cover no-repeat !important;
    border:1px solid rgba(216,171,77,.38) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.22) !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero__content{
    background:
        linear-gradient(90deg,rgba(255,252,244,.97) 0%,rgba(255,250,239,.86) 48%,rgba(255,250,239,.44) 100%),
        url('../caivan/hero-light.webp') center/cover no-repeat !important;
    border-color:rgba(162,36,38,.18) !important;
    box-shadow:0 22px 60px rgba(102,64,12,.10) !important;
}
.caivan-page .caivan-kicker{
    width:max-content !important;
    color:#f8d36c !important;
    background:rgba(216,171,77,.10) !important;
    border-color:rgba(216,171,77,.38) !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-kicker{
    color:#8b1118 !important;
    background:rgba(139,17,24,.06) !important;
    border-color:rgba(139,17,24,.18) !important;
}
.caivan-page .caivan-hero__content h1{
    font-family:Georgia,'Times New Roman',serif !important;
    font-size:clamp(56px,5vw,86px) !important;
    letter-spacing:.02em !important;
    color:#ffe6a3 !important;
    text-shadow:0 0 26px rgba(216,171,77,.28) !important;
    margin:14px 0 8px !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero__content h1{
    color:#8b1118 !important;
    text-shadow:none !important;
}
.caivan-hero__gold-line{
    font-size:18px;
    line-height:1.45;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#f4c76e;
    margin-bottom:14px;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero__gold-line{
    color:#9b6414;
}
.caivan-page .caivan-hero__content p{
    max-width:760px !important;
    color:#d8e3f1 !important;
    font-size:17px !important;
    line-height:1.75 !important;
    margin-bottom:22px !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero__content p{
    color:#4b3b2b !important;
}
.caivan-page .caivan-hero__actions .caivan-btn{
    min-width:190px !important;
    justify-content:center !important;
}
.caivan-page .caivan-btn--gold{
    background:linear-gradient(135deg,#ffe394,#c78b20) !important;
    color:#201407 !important;
    border-color:rgba(255,226,138,.65) !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-btn--gold{
    background:linear-gradient(135deg,#a90f19,#7d0710) !important;
    color:#fff !important;
    border-color:rgba(125,7,16,.35) !important;
}
.caivan-page .caivan-btn--ghost{
    background:rgba(7,18,32,.40) !important;
    color:#fff2c2 !important;
    border-color:rgba(216,171,77,.36) !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-btn--ghost{
    background:rgba(255,255,255,.72) !important;
    color:#8b1118 !important;
    border-color:rgba(139,17,24,.28) !important;
}
.caivan-page .caivan-hero__card--laso{
    min-height:286px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:26px !important;
    border-radius:22px !important;
    background:linear-gradient(145deg,rgba(5,17,33,.94),rgba(5,17,33,.76)) !important;
    border:1px solid rgba(216,171,77,.38) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.24) !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero__card--laso{
    background:rgba(255,255,255,.90) !important;
    border-color:rgba(166,119,36,.26) !important;
    box-shadow:0 22px 60px rgba(102,64,12,.10) !important;
}
.caivan-hero-laso__top{
    justify-content:center !important;
    text-align:center !important;
    margin-bottom:18px !important;
}
.caivan-hero-laso__top .caivan-orb{display:none !important;}
.caivan-hero-laso__top span{
    color:#f4c76e !important;
    font-size:13px !important;
    letter-spacing:.16em !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__top span{color:#8b1118 !important;}
.caivan-hero-laso__top h2{
    color:#fff5d2 !important;
    font-size:24px !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__top h2{color:#201407 !important;}
.caivan-hero-laso__grid--eight{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-bottom:12px !important;
}
.caivan-laso-field{
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) !important;
    column-gap:9px !important;
    align-items:center !important;
    min-height:62px !important;
    padding:10px 11px !important;
    background:rgba(3,13,28,.48) !important;
    border:1px solid rgba(148,163,184,.18) !important;
    border-radius:12px !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-field{
    background:rgba(255,250,239,.68) !important;
    border-color:rgba(166,119,36,.18) !important;
}
.caivan-laso-field i{
    grid-row:1 / span 2;
    width:30px;
    height:30px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#f4c76e;
    background:rgba(216,171,77,.10);
    border:1px solid rgba(216,171,77,.22);
    font-size:13px;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-field i{
    color:#8b1118;
    background:rgba(139,17,24,.06);
    border-color:rgba(139,17,24,.14);
}
.caivan-laso-field span{
    display:block !important;
    margin:0 0 3px !important;
    color:#9fb0c7 !important;
    font-size:11px !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-field span{color:#7a6a58 !important;}
.caivan-laso-field strong{
    display:block !important;
    color:#fff !important;
    font-size:14px !important;
    line-height:1.2 !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-field strong{color:#21160c !important;}
.caivan-laso-summary--compact{
    grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr) !important;
    padding:10px !important;
    margin-top:4px !important;
}
.caivan-page #caivan-stars-section{margin-top:22px !important;}
.caivan-page #caivan-stars-section .caivan-section-title{margin-top:0 !important;}
@media(max-width:1180px){
    .caivan-page .caivan-hero__inner{grid-template-columns:1fr !important;}
    .caivan-hero-laso__grid--eight{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:720px){
    .caivan-page .caivan-hero__content h1{font-size:42px !important;}
    .caivan-hero__gold-line{font-size:14px;letter-spacing:.03em;}
    .caivan-hero-laso__grid--eight{grid-template-columns:1fr !important;}
    .caivan-page .caivan-hero__actions .caivan-btn{width:100% !important;}
}

/* ===== V10: chỉnh đúng riêng phần đầu trang và Tổng quan lá số cá nhân ===== */
.caivan-page .caivan-wrap{
    width:min(1560px, calc(100vw - 40px)) !important;
}
.caivan-page .caivan-hero{
    padding:22px 0 20px !important;
}
.caivan-page .caivan-hero__inner{
    width:min(1560px, calc(100vw - 40px)) !important;
    grid-template-columns:minmax(0, 1.55fr) minmax(560px, .95fr) !important;
    gap:28px !important;
}
.caivan-page .caivan-hero__content{
    min-height:350px !important;
    padding:48px 58px !important;
    border-radius:24px !important;
    background:
        linear-gradient(90deg, rgba(5, 14, 27, .97) 0%, rgba(5, 14, 27, .78) 43%, rgba(5, 14, 27, .30) 100%),
        url('../caivan/hero-dark.webp') center/cover no-repeat !important;
    border:1px solid rgba(216,171,77,.46) !important;
    box-shadow:0 26px 80px rgba(0,0,0,.30) !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero__content{
    background:
        linear-gradient(90deg, rgba(255,252,244,.98) 0%, rgba(255,250,239,.90) 48%, rgba(255,250,239,.42) 100%),
        url('../caivan/hero-light.webp') center/cover no-repeat !important;
    border-color:rgba(139,17,24,.18) !important;
}
.caivan-page .caivan-hero__content h1{
    font-size:clamp(64px, 5.6vw, 96px) !important;
    line-height:.96 !important;
    margin:16px 0 10px !important;
}
.caivan-page .caivan-hero__gold-line{
    font-size:18px !important;
    letter-spacing:.08em !important;
    margin-bottom:18px !important;
}
.caivan-page .caivan-hero__content p{
    max-width:820px !important;
    font-size:18px !important;
    line-height:1.72 !important;
}
.caivan-page .caivan-hero__actions{
    margin-top:30px !important;
}
.caivan-page .caivan-hero__actions .caivan-btn{
    min-width:210px !important;
    min-height:50px !important;
    font-size:15px !important;
}
.caivan-page .caivan-hero__card--laso{
    min-height:350px !important;
    padding:30px 32px !important;
    border-radius:24px !important;
    justify-content:flex-start !important;
}
.caivan-hero-laso__head{
    display:grid !important;
    grid-template-columns:92px minmax(0,1fr) auto !important;
    gap:18px !important;
    align-items:center !important;
    margin-bottom:22px !important;
}
.caivan-overview-icon{
    width:92px;
    height:92px;
    border-radius:22px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:radial-gradient(circle, rgba(246,202,101,.26), rgba(4,15,31,.12));
    border:1px solid rgba(216,171,77,.32);
    box-shadow:0 0 34px rgba(216,171,77,.18), inset 0 0 22px rgba(216,171,77,.10);
}
.caivan-overview-icon img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.caivan-overview-icon.is-fallback::before{
    content:"✦";
    width:72px;
    height:72px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#f4c76e;
    font-size:42px;
    border:1px solid rgba(216,171,77,.42);
    background:radial-gradient(circle, rgba(216,171,77,.24), transparent 68%);
}
.caivan-hero-laso__title span{
    display:block;
    font-size:14px !important;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.16em !important;
    color:#f4c76e !important;
    margin-bottom:6px;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__title span{
    color:#8b1118 !important;
}
.caivan-hero-laso__title h2{
    margin:0 !important;
    color:#fff5d2 !important;
    font-size:28px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__title h2{
    color:#211407 !important;
}
.caivan-hero-laso__link{
    color:#f4c76e !important;
    text-decoration:none !important;
    font-weight:800 !important;
    font-size:14px !important;
    white-space:nowrap;
}
.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__link{
    color:#8b1118 !important;
}
.caivan-hero-laso__top{display:none !important;}
.caivan-hero-laso__grid--eight{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:0 !important;
    border-top:1px solid rgba(216,171,77,.18);
    border-bottom:1px solid rgba(216,171,77,.18);
    margin:0 0 18px !important;
    padding:16px 0 !important;
}
.caivan-laso-field{
    display:block !important;
    min-height:auto !important;
    padding:8px 18px !important;
    border:0 !important;
    border-right:1px solid rgba(216,171,77,.16) !important;
    border-radius:0 !important;
    background:transparent !important;
}
.caivan-laso-field:nth-child(4n){border-right:0 !important;}
.caivan-laso-field i{display:none !important;}
.caivan-laso-field span{
    display:block !important;
    margin:0 0 6px !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:750 !important;
    color:#98a8bc !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-field span{
    color:#7a6352 !important;
}
.caivan-laso-field strong{
    display:block !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    color:#ffffff !important;
    font-size:15px !important;
    line-height:1.3 !important;
    font-weight:900 !important;
    word-break:normal !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-field strong{
    color:#211407 !important;
}
.caivan-laso-summary--compact{
    display:grid !important;
    grid-template-columns:minmax(0,1.45fr) minmax(160px,.7fr) minmax(150px,.55fr) !important;
    gap:10px !important;
    padding:0 !important;
    margin-top:0 !important;
    background:transparent !important;
    border:0 !important;
}
.caivan-laso-summary--compact > div{
    min-height:66px;
    border:1px solid rgba(216,171,77,.20) !important;
    border-radius:14px !important;
    padding:12px 14px !important;
    background:rgba(3,13,28,.36) !important;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-summary--compact > div{
    background:rgba(255,250,239,.62) !important;
    border-color:rgba(166,119,36,.18) !important;
}
.caivan-laso-summary--compact span{
    display:block;
    font-size:12px;
    color:#98a8bc !important;
    margin-bottom:5px;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-summary--compact span{color:#7a6352 !important;}
.caivan-laso-summary--compact strong{
    display:block;
    color:#fff !important;
    font-size:16px;
    font-weight:900;
    line-height:1.35;
}
.caivan-page:not(.caivan-theme-dark) .caivan-laso-summary--compact strong{color:#211407 !important;}
@media(max-width:1280px){
    .caivan-page .caivan-hero__inner{grid-template-columns:1fr !important;}
    .caivan-page .caivan-hero__content,.caivan-page .caivan-hero__card--laso{min-height:auto !important;}
}
@media(max-width:760px){
    .caivan-page .caivan-wrap,.caivan-page .caivan-hero__inner{width:min(100% - 24px, 1560px) !important;}
    .caivan-page .caivan-hero__content{padding:30px 22px !important;}
    .caivan-page .caivan-hero__content h1{font-size:44px !important;}
    .caivan-hero-laso__head{grid-template-columns:70px 1fr !important;}
    .caivan-hero-laso__link{grid-column:1 / -1;}
    .caivan-overview-icon{width:70px;height:70px;border-radius:18px;}
    .caivan-hero-laso__grid--eight{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .caivan-laso-field:nth-child(2n){border-right:0 !important;}
    .caivan-laso-summary--compact{grid-template-columns:1fr !important;}
}


/* ===== V13: sửa đúng phần đầu trang theo demo ===== */
.caivan-page .caivan-wrap,
.caivan-page .caivan-hero__inner{
    width:min(2140px, calc(100vw - 70px)) !important;
    max-width:none !important;
}

.caivan-page .caivan-hero{
    padding:20px 0 18px !important;
}

.caivan-page .caivan-hero__inner{
    grid-template-columns:minmax(860px, 1.36fr) minmax(760px, .94fr) !important;
    gap:30px !important;
    align-items:stretch !important;
}

.caivan-page .caivan-hero__content{
    min-height:340px !important;
    padding:46px 60px !important;
    border-radius:24px !important;
}

.caivan-page .caivan-hero__content h1{
    font-size:clamp(56px, 4.35vw, 78px) !important;
    line-height:1.02 !important;
    letter-spacing:-0.035em !important;
    max-width:760px !important;
    margin:16px 0 12px !important;
}

.caivan-page .caivan-hero__gold-line{
    font-size:17px !important;
    letter-spacing:.105em !important;
    margin-bottom:18px !important;
    white-space:normal !important;
}

.caivan-page .caivan-hero__content p{
    max-width:840px !important;
    font-size:17px !important;
    line-height:1.72 !important;
}

.caivan-page .caivan-hero__actions{
    margin-top:30px !important;
}

.caivan-page .caivan-hero__actions .caivan-btn{
    min-width:220px !important;
    min-height:52px !important;
    padding:0 25px !important;
    font-size:15px !important;
}

.caivan-page .caivan-hero__actions .caivan-btn i{
    font-size:15px !important;
}

.caivan-page .caivan-hero__card--laso{
    min-height:340px !important;
    padding:28px 32px !important;
    border-radius:24px !important;
}

.caivan-page .caivan-hero-laso__head{
    display:grid !important;
    grid-template-columns:112px minmax(0,1fr) auto !important;
    gap:22px !important;
    align-items:center !important;
    margin-bottom:20px !important;
    padding-bottom:16px !important;
    border-bottom:1px solid rgba(216,171,77,.18) !important;
}

.caivan-page .caivan-overview-icon{
    width:102px !important;
    height:102px !important;
    border-radius:24px !important;
}

.caivan-page .caivan-hero-laso__title{
    min-width:0 !important;
}

.caivan-page .caivan-hero-laso__title span{
    font-size:16px !important;
    line-height:1.35 !important;
    letter-spacing:.24em !important;
    color:#f4c76e !important;
    white-space:normal !important;
}

.caivan-page .caivan-hero-laso__title h2{
    display:none !important;
}

.caivan-page .caivan-hero-laso__grid--eight{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(135px, 1fr)) !important;
    gap:0 !important;
    padding:15px 0 16px !important;
    margin:0 0 18px !important;
    border-top:1px solid rgba(216,171,77,.18) !important;
    border-bottom:1px solid rgba(216,171,77,.18) !important;
}

.caivan-page .caivan-laso-field{
    display:block !important;
    padding:8px 18px !important;
    min-height:58px !important;
    background:transparent !important;
    border:0 !important;
    border-right:1px solid rgba(216,171,77,.16) !important;
    border-radius:0 !important;
}

.caivan-page .caivan-laso-field:nth-child(4n){
    border-right:0 !important;
}

.caivan-page .caivan-laso-field span{
    display:block !important;
    margin:0 0 5px !important;
    color:#9fb0c7 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-laso-field strong{
    display:block !important;
    color:#fff7dd !important;
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
}

.caivan-page .caivan-laso-summary--compact{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
}

.caivan-page .caivan-scope-line{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    min-height:54px !important;
    padding:13px 17px !important;
    border-radius:12px !important;
    border:1px solid rgba(216,171,77,.22) !important;
    background:rgba(3,13,28,.36) !important;
}

.caivan-page .caivan-scope-line i{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    color:#f4c76e !important;
    border:1px solid rgba(216,171,77,.28) !important;
    background:rgba(216,171,77,.10) !important;
}

.caivan-page .caivan-scope-line span{
    margin:0 !important;
    color:#9fb0c7 !important;
    font-size:13px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-scope-line strong{
    color:#fff7dd !important;
    font-size:16px !important;
    line-height:1.3 !important;
    font-weight:900 !important;
    white-space:normal !important;
}

.caivan-hidden-laso-value{
    display:none !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__title span{
    color:#8b1118 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-laso-field span,
.caivan-page:not(.caivan-theme-dark) .caivan-scope-line span{
    color:#7a6352 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-laso-field strong,
.caivan-page:not(.caivan-theme-dark) .caivan-scope-line strong{
    color:#211407 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-scope-line{
    background:rgba(255,250,239,.68) !important;
    border-color:rgba(166,119,36,.20) !important;
}

@media(max-width:1720px){
    .caivan-page .caivan-wrap,
    .caivan-page .caivan-hero__inner{
        width:min(1560px, calc(100vw - 40px)) !important;
    }
    .caivan-page .caivan-hero__inner{
        grid-template-columns:minmax(0, 1.28fr) minmax(650px, .92fr) !important;
        gap:26px !important;
    }
    .caivan-page .caivan-hero__content{
        padding:42px 52px !important;
    }
    .caivan-page .caivan-hero__content h1{
        font-size:clamp(54px, 4.15vw, 72px) !important;
    }
    .caivan-page .caivan-overview-icon{
        width:92px !important;
        height:92px !important;
    }
    .caivan-page .caivan-hero-laso__head{
        grid-template-columns:102px minmax(0,1fr) auto !important;
    }
    .caivan-page .caivan-laso-field{
        padding-left:14px !important;
        padding-right:14px !important;
    }
}

@media(max-width:1320px){
    .caivan-page .caivan-hero__inner{
        grid-template-columns:1fr !important;
    }
    .caivan-page .caivan-hero__content,
    .caivan-page .caivan-hero__card--laso{
        min-height:auto !important;
    }
}

@media(max-width:760px){
    .caivan-page .caivan-wrap,
    .caivan-page .caivan-hero__inner{
        width:min(100% - 22px, 2140px) !important;
    }
    .caivan-page .caivan-hero__content{
        padding:28px 20px !important;
    }
    .caivan-page .caivan-hero__content h1{
        font-size:42px !important;
    }
    .caivan-page .caivan-hero-laso__head{
        grid-template-columns:76px minmax(0,1fr) !important;
        gap:14px !important;
    }
    .caivan-page .caivan-overview-icon{
        width:74px !important;
        height:74px !important;
        border-radius:18px !important;
    }
    .caivan-page .caivan-hero-laso__link{
        grid-column:1 / -1 !important;
    }
    .caivan-page .caivan-hero-laso__grid--eight{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
    .caivan-page .caivan-laso-field:nth-child(2n){
        border-right:0 !important;
    }
    .caivan-page .caivan-scope-line{
        align-items:flex-start !important;
    }
    .caivan-page .caivan-scope-line span{
        display:none !important;
    }
}


/* ===== V14: căn chiều cao đầu trang giống demo hơn ===== */
.caivan-page .caivan-hero__content .caivan-kicker{
    display:none !important;
}

.caivan-page .caivan-hero{
    padding:18px 0 16px !important;
}

.caivan-page .caivan-hero__inner{
    grid-template-columns:minmax(880px, 1.36fr) minmax(800px, .96fr) !important;
    gap:28px !important;
}

.caivan-page .caivan-hero__content,
.caivan-page .caivan-hero__card--laso{
    min-height:292px !important;
    height:292px !important;
    box-sizing:border-box !important;
}

.caivan-page .caivan-hero__content{
    padding:40px 58px !important;
}

.caivan-page .caivan-hero__content h1{
    font-size:clamp(54px, 4.15vw, 72px) !important;
    line-height:.98 !important;
    margin:0 0 15px !important;
    max-width:820px !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-hero__gold-line{
    font-size:17px !important;
    line-height:1.35 !important;
    margin-bottom:18px !important;
}

.caivan-page .caivan-hero__content p{
    max-width:920px !important;
    font-size:17px !important;
    line-height:1.62 !important;
}

.caivan-page .caivan-hero__actions{
    margin-top:28px !important;
}

.caivan-page .caivan-hero__actions .caivan-btn{
    min-height:48px !important;
}

.caivan-page .caivan-hero__card--laso{
    padding:24px 30px !important;
    overflow:hidden !important;
}

.caivan-page .caivan-hero-laso__head{
    grid-template-columns:90px minmax(0,1fr) auto !important;
    gap:20px !important;
    margin-bottom:13px !important;
    padding-bottom:13px !important;
}

.caivan-page .caivan-overview-icon{
    width:82px !important;
    height:82px !important;
    border-radius:22px !important;
}

.caivan-page .caivan-hero-laso__title span{
    font-size:15px !important;
    letter-spacing:.22em !important;
}

.caivan-page .caivan-hero-laso__grid--eight{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    padding:11px 0 12px !important;
    margin:0 0 12px !important;
}

.caivan-page .caivan-laso-field{
    min-height:46px !important;
    padding:5px 14px !important;
}

.caivan-page .caivan-laso-field span{
    font-size:11px !important;
    margin-bottom:4px !important;
}

.caivan-page .caivan-laso-field strong{
    font-size:14px !important;
    line-height:1.22 !important;
}

.caivan-page .caivan-scope-line{
    min-height:46px !important;
    padding:10px 14px !important;
}

.caivan-page .caivan-scope-line i{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
}

.caivan-page .caivan-scope-line span{
    font-size:12px !important;
}

.caivan-page .caivan-scope-line strong{
    font-size:14px !important;
    line-height:1.25 !important;
}

@media(max-width:1720px){
    .caivan-page .caivan-hero__inner{
        grid-template-columns:minmax(0, 1.24fr) minmax(660px, .92fr) !important;
    }
    .caivan-page .caivan-hero__content,
    .caivan-page .caivan-hero__card--laso{
        min-height:292px !important;
        height:292px !important;
    }
    .caivan-page .caivan-hero__content{
        padding:38px 52px !important;
    }
    .caivan-page .caivan-hero__content h1{
        font-size:clamp(50px, 4vw, 68px) !important;
    }
}

@media(max-width:1320px){
    .caivan-page .caivan-hero__inner{
        grid-template-columns:1fr !important;
    }
    .caivan-page .caivan-hero__content,
    .caivan-page .caivan-hero__card--laso{
        height:auto !important;
        min-height:auto !important;
    }
    .caivan-page .caivan-hero__content h1{
        white-space:normal !important;
    }
}

@media(max-width:760px){
    .caivan-page .caivan-hero__content{
        padding:28px 20px !important;
    }
    .caivan-page .caivan-hero__content h1{
        font-size:42px !important;
        white-space:normal !important;
    }
}


/* ===== V15: fix lẹm khung, chốt font và kích thước đầu trang ===== */
.caivan-page .caivan-wrap,
.caivan-page .caivan-hero__inner{
    width:min(2140px, calc(100vw - 70px)) !important;
    max-width:none !important;
}

.caivan-page .caivan-hero{
    padding:18px 0 16px !important;
}

.caivan-page .caivan-hero__inner{
    grid-template-columns:minmax(880px, 1.36fr) minmax(800px, .96fr) !important;
    gap:28px !important;
    align-items:stretch !important;
}

/* Không ép height cứng nữa để không bị lẹm chữ */
.caivan-page .caivan-hero__content,
.caivan-page .caivan-hero__card--laso{
    height:auto !important;
    min-height:318px !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

.caivan-page .caivan-hero__content{
    padding:38px 58px !important;
    border-radius:24px !important;
}

.caivan-page .caivan-hero__content .caivan-kicker{
    display:none !important;
}

.caivan-page .caivan-hero__content h1{
    font-size:clamp(54px, 4.1vw, 70px) !important;
    line-height:1 !important;
    letter-spacing:-0.035em !important;
    margin:0 0 14px !important;
    max-width:880px !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-hero__gold-line{
    font-size:16px !important;
    line-height:1.35 !important;
    letter-spacing:.105em !important;
    margin-bottom:18px !important;
}

.caivan-page .caivan-hero__content p{
    max-width:900px !important;
    font-size:16px !important;
    line-height:1.62 !important;
}

.caivan-page .caivan-hero__actions{
    margin-top:27px !important;
}

.caivan-page .caivan-hero__actions .caivan-btn{
    min-width:220px !important;
    min-height:46px !important;
    height:46px !important;
    padding:0 24px !important;
    font-size:14px !important;
    font-weight:900 !important;
}

.caivan-page .caivan-hero__card--laso{
    padding:24px 30px !important;
    border-radius:24px !important;
}

/* Tổng quan lá số: 1 icon tổng, tiêu đề gọn, không họ tên to ở trên */
.caivan-page .caivan-hero-laso__head{
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) auto !important;
    gap:18px !important;
    align-items:center !important;
    margin-bottom:14px !important;
    padding-bottom:14px !important;
    border-bottom:1px solid rgba(216,171,77,.18) !important;
}

.caivan-page .caivan-overview-icon{
    width:82px !important;
    height:82px !important;
    border-radius:21px !important;
    box-shadow:0 0 34px rgba(216,171,77,.22), inset 0 0 24px rgba(216,171,77,.12) !important;
}

.caivan-page .caivan-hero-laso__title h2{
    display:none !important;
}

.caivan-page .caivan-hero-laso__title span{
    display:block !important;
    color:#f4c76e !important;
    font-size:15px !important;
    line-height:1.3 !important;
    letter-spacing:.23em !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    margin:0 !important;
    white-space:normal !important;
}

.caivan-page .caivan-hero-laso__link{
    font-size:13px !important;
    font-weight:900 !important;
}

/* 8 mục thông tin, không icon nhỏ, không cắt dấu 3 chấm */
.caivan-page .caivan-hero-laso__grid--eight{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:0 !important;
    padding:12px 0 !important;
    margin:0 0 12px !important;
    border-top:1px solid rgba(216,171,77,.18) !important;
    border-bottom:1px solid rgba(216,171,77,.18) !important;
}

.caivan-page .caivan-laso-field{
    display:block !important;
    min-height:48px !important;
    padding:6px 14px !important;
    background:transparent !important;
    border:0 !important;
    border-right:1px solid rgba(216,171,77,.16) !important;
    border-radius:0 !important;
}

.caivan-page .caivan-laso-field:nth-child(4n){
    border-right:0 !important;
}

.caivan-page .caivan-laso-field i{
    display:none !important;
}

.caivan-page .caivan-laso-field span{
    display:block !important;
    margin:0 0 4px !important;
    color:#9fb0c7 !important;
    font-size:11px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-laso-field strong{
    display:block !important;
    color:#fff7dd !important;
    font-size:14px !important;
    line-height:1.22 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

/* Chỉ một thanh phạm vi tự dò, có icon ở đầu */
.caivan-page .caivan-laso-summary--compact{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
}

.caivan-page .caivan-scope-line{
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    min-height:46px !important;
    padding:10px 14px !important;
    border-radius:12px !important;
    border:1px solid rgba(216,171,77,.22) !important;
    background:rgba(3,13,28,.36) !important;
}

.caivan-page .caivan-scope-line i{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    color:#f4c76e !important;
    border:1px solid rgba(216,171,77,.28) !important;
    background:rgba(216,171,77,.10) !important;
    font-size:13px !important;
}

.caivan-page .caivan-scope-line span{
    margin:0 !important;
    color:#9fb0c7 !important;
    font-size:12px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-scope-line strong{
    color:#fff7dd !important;
    font-size:14px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    white-space:normal !important;
}

.caivan-hidden-laso-value{
    display:none !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__title span{
    color:#8b1118 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-laso-field span,
.caivan-page:not(.caivan-theme-dark) .caivan-scope-line span{
    color:#7a6352 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-laso-field strong,
.caivan-page:not(.caivan-theme-dark) .caivan-scope-line strong{
    color:#211407 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-scope-line{
    background:rgba(255,250,239,.68) !important;
    border-color:rgba(166,119,36,.20) !important;
}

@media(max-width:1720px){
    .caivan-page .caivan-wrap,
    .caivan-page .caivan-hero__inner{
        width:min(1560px, calc(100vw - 40px)) !important;
    }
    .caivan-page .caivan-hero__inner{
        grid-template-columns:minmax(0, 1.24fr) minmax(660px, .92fr) !important;
    }
    .caivan-page .caivan-hero__content,
    .caivan-page .caivan-hero__card--laso{
        min-height:318px !important;
        height:auto !important;
        overflow:visible !important;
    }
    .caivan-page .caivan-hero__content{
        padding:36px 50px !important;
    }
    .caivan-page .caivan-hero__content h1{
        font-size:clamp(50px, 4vw, 66px) !important;
    }
}

@media(max-width:1320px){
    .caivan-page .caivan-hero__inner{
        grid-template-columns:1fr !important;
    }
    .caivan-page .caivan-hero__content,
    .caivan-page .caivan-hero__card--laso{
        min-height:auto !important;
    }
    .caivan-page .caivan-hero__content h1{
        white-space:normal !important;
    }
}

@media(max-width:760px){
    .caivan-page .caivan-wrap,
    .caivan-page .caivan-hero__inner{
        width:min(100% - 22px, 2140px) !important;
    }
    .caivan-page .caivan-hero__content{
        padding:28px 20px !important;
    }
    .caivan-page .caivan-hero__content h1{
        font-size:42px !important;
        white-space:normal !important;
    }
    .caivan-page .caivan-hero-laso__head{
        grid-template-columns:74px minmax(0,1fr) !important;
        gap:14px !important;
    }
    .caivan-page .caivan-overview-icon{
        width:70px !important;
        height:70px !important;
        border-radius:18px !important;
    }
    .caivan-page .caivan-hero-laso__link{
        grid-column:1 / -1 !important;
    }
    .caivan-page .caivan-hero-laso__grid--eight{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
    .caivan-page .caivan-laso-field:nth-child(2n){
        border-right:0 !important;
    }
    .caivan-page .caivan-scope-line{
        align-items:flex-start !important;
    }
    .caivan-page .caivan-scope-line span{
        display:none !important;
    }
}


/* ===== V17: dựng lại Tổng quan lá số cá nhân theo demo ===== */
.caivan-page .caivan-hero__card--laso{
    min-height:300px !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:30px 34px 26px !important;
    border-radius:20px !important;
    border:1px solid rgba(216,171,77,.28) !important;
}

.caivan-page .caivan-hero-laso__head{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:18px !important;
    margin:0 0 10px !important;
    padding:0 0 14px !important;
    border-bottom:1px solid rgba(216,171,77,.15) !important;
}

.caivan-page .caivan-overview-icon{
    width:92px !important;
    height:92px !important;
    border-radius:18px !important;
    grid-row:2 / span 2 !important;
    align-self:start !important;
    margin:18px 34px 0 0 !important;
    float:left !important;
    box-shadow:0 0 38px rgba(216,171,77,.22), inset 0 0 22px rgba(216,171,77,.12) !important;
}

.caivan-page .caivan-hero-laso__title span{
    display:inline-flex !important;
    align-items:center !important;
    color:#f4c76e !important;
    font-size:15px !important;
    line-height:1.25 !important;
    letter-spacing:.16em !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    margin:0 !important;
}

.caivan-page .caivan-hero-laso__title span::after{
    content:" »";
    margin-left:6px;
    opacity:.75;
}

.caivan-page .caivan-hero-laso__title h2{
    display:none !important;
}

.caivan-page .caivan-hero-laso__link{
    color:#f4c76e !important;
    font-size:14px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-hero-laso__grid--eight{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(128px, 1fr)) !important;
    gap:0 !important;
    margin:18px 0 18px 126px !important;
    padding:0 0 18px !important;
    border-top:0 !important;
    border-bottom:1px solid rgba(216,171,77,.15) !important;
    clear:none !important;
}

.caivan-page .caivan-laso-field{
    display:block !important;
    min-height:68px !important;
    padding:8px 20px 8px 0 !important;
    background:transparent !important;
    border:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
}

.caivan-page .caivan-laso-field span{
    display:block !important;
    margin:0 0 8px !important;
    color:#aeb7c5 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-laso-field strong{
    display:block !important;
    color:#f5f7fb !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:850 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

.caivan-page .caivan-laso-summary--compact{
    display:block !important;
    clear:both !important;
    padding:0 !important;
    margin:12px 0 0 !important;
    background:transparent !important;
    border:0 !important;
}

.caivan-page .caivan-scope-line{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    min-height:56px !important;
    padding:12px 18px !important;
    border-radius:12px !important;
    border:1px solid rgba(216,171,77,.24) !important;
    background:rgba(3,13,28,.36) !important;
}

.caivan-page .caivan-scope-line i{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    color:#f4c76e !important;
    border:1px solid rgba(216,171,77,.28) !important;
    background:rgba(216,171,77,.10) !important;
    font-size:15px !important;
}

.caivan-page .caivan-scope-line span{
    display:inline !important;
    margin:0 !important;
    color:#aeb7c5 !important;
    font-size:15px !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-scope-line strong{
    display:inline !important;
    color:#f5f7fb !important;
    font-size:16px !important;
    line-height:1.3 !important;
    font-weight:850 !important;
    white-space:normal !important;
}

.caivan-hidden-laso-value{
    display:none !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__title span,
.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__link{
    color:#8b1118 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-laso-field span,
.caivan-page:not(.caivan-theme-dark) .caivan-scope-line span{
    color:#7a6352 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-laso-field strong,
.caivan-page:not(.caivan-theme-dark) .caivan-scope-line strong{
    color:#211407 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-scope-line{
    background:rgba(255,250,239,.68) !important;
    border-color:rgba(166,119,36,.20) !important;
}

@media(max-width:1720px){
    .caivan-page .caivan-hero__card--laso{
        padding:26px 30px 24px !important;
        min-height:300px !important;
    }
    .caivan-page .caivan-overview-icon{
        width:86px !important;
        height:86px !important;
        margin-right:28px !important;
    }
    .caivan-page .caivan-hero-laso__grid--eight{
        margin-left:114px !important;
    }
    .caivan-page .caivan-laso-field span{
        font-size:12px !important;
    }
    .caivan-page .caivan-laso-field strong{
        font-size:15px !important;
    }
}

@media(max-width:1320px){
    .caivan-page .caivan-overview-icon{
        float:none !important;
        grid-row:auto !important;
        margin:0 !important;
    }
    .caivan-page .caivan-hero-laso__head{
        grid-template-columns:92px minmax(0,1fr) auto !important;
    }
    .caivan-page .caivan-hero-laso__grid--eight{
        margin-left:0 !important;
        grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    }
}

@media(max-width:760px){
    .caivan-page .caivan-hero-laso__head{
        grid-template-columns:74px minmax(0,1fr) !important;
    }
    .caivan-page .caivan-overview-icon{
        width:70px !important;
        height:70px !important;
    }
    .caivan-page .caivan-hero-laso__link{
        grid-column:1 / -1 !important;
    }
    .caivan-page .caivan-hero-laso__grid--eight{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
    .caivan-page .caivan-laso-field{
        min-height:58px !important;
    }
    .caivan-page .caivan-scope-line{
        align-items:flex-start !important;
    }
}


/* ===== V18: sửa sạch Tổng quan lá số đúng demo, không còn Cung Thân cư / Sao cải vận hiện ra ===== */
.caivan-page .caivan-hero__card--laso{
    min-height:300px !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:30px 34px 26px !important;
    border-radius:20px !important;
    border:1px solid rgba(216,171,77,.28) !important;
}

.caivan-page .caivan-hero-laso__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 18px !important;
    padding:0 0 12px !important;
    border-bottom:1px solid rgba(216,171,77,.14) !important;
}

.caivan-page .caivan-hero-laso__title span{
    display:inline-flex !important;
    align-items:center !important;
    color:#f4c76e !important;
    font-size:15px !important;
    line-height:1.25 !important;
    letter-spacing:.16em !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    margin:0 !important;
}

.caivan-page .caivan-hero-laso__title span::after{
    content:" »";
    margin-left:6px;
    opacity:.75;
}

.caivan-page .caivan-hero-laso__title h2{
    display:none !important;
}

.caivan-page .caivan-hero-laso__link{
    color:#f4c76e !important;
    font-size:14px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-hero-laso__body{
    display:grid !important;
    grid-template-columns:112px minmax(0,1fr) !important;
    gap:30px !important;
    align-items:start !important;
    padding:0 0 18px !important;
    margin:0 0 14px !important;
    border-bottom:1px solid rgba(216,171,77,.14) !important;
}

.caivan-page .caivan-overview-icon{
    width:96px !important;
    height:96px !important;
    border-radius:18px !important;
    margin:0 !important;
    float:none !important;
    align-self:start !important;
    box-shadow:0 0 38px rgba(216,171,77,.22), inset 0 0 22px rgba(216,171,77,.12) !important;
}

.caivan-page .caivan-hero-laso__grid--eight{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(120px, 1fr)) !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}

.caivan-page .caivan-laso-field{
    display:block !important;
    min-height:70px !important;
    padding:8px 18px 8px 0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
}

.caivan-page .caivan-laso-field span{
    display:block !important;
    margin:0 0 8px !important;
    color:#aeb7c5 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-laso-field strong{
    display:block !important;
    color:#f5f7fb !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:850 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

/* Ép thanh phạm vi chỉ còn 1 dòng ngang */
.caivan-page .caivan-laso-summary--compact{
    display:block !important;
    clear:both !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
}

.caivan-page .caivan-laso-summary--compact > div:not(.caivan-scope-line){
    display:none !important;
}

.caivan-page .caivan-scope-line{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    min-height:56px !important;
    padding:12px 18px !important;
    border-radius:12px !important;
    border:1px solid rgba(216,171,77,.24) !important;
    background:rgba(3,13,28,.36) !important;
}

.caivan-page .caivan-scope-line i{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    color:#f4c76e !important;
    border:1px solid rgba(216,171,77,.28) !important;
    background:rgba(216,171,77,.10) !important;
    font-size:15px !important;
}

.caivan-page .caivan-scope-line span{
    display:inline !important;
    margin:0 !important;
    color:#aeb7c5 !important;
    font-size:15px !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-scope-line strong{
    display:inline !important;
    color:#f5f7fb !important;
    font-size:16px !important;
    line-height:1.3 !important;
    font-weight:850 !important;
    white-space:normal !important;
}

.caivan-hidden-laso-value{
    display:none !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__title span,
.caivan-page:not(.caivan-theme-dark) .caivan-hero-laso__link{
    color:#8b1118 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-laso-field span,
.caivan-page:not(.caivan-theme-dark) .caivan-scope-line span{
    color:#7a6352 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-laso-field strong,
.caivan-page:not(.caivan-theme-dark) .caivan-scope-line strong{
    color:#211407 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-scope-line{
    background:rgba(255,250,239,.68) !important;
    border-color:rgba(166,119,36,.20) !important;
}

@media(max-width:1720px){
    .caivan-page .caivan-hero__card--laso{
        padding:26px 30px 24px !important;
        min-height:300px !important;
    }
    .caivan-page .caivan-hero-laso__body{
        grid-template-columns:102px minmax(0,1fr) !important;
        gap:26px !important;
    }
    .caivan-page .caivan-overview-icon{
        width:88px !important;
        height:88px !important;
    }
    .caivan-page .caivan-laso-field span{
        font-size:12px !important;
    }
    .caivan-page .caivan-laso-field strong{
        font-size:15px !important;
    }
}

@media(max-width:1320px){
    .caivan-page .caivan-hero-laso__body{
        grid-template-columns:96px minmax(0,1fr) !important;
    }
    .caivan-page .caivan-hero-laso__grid--eight{
        grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    }
}

@media(max-width:760px){
    .caivan-page .caivan-hero-laso__head{
        align-items:flex-start !important;
        flex-direction:column !important;
    }
    .caivan-page .caivan-hero-laso__body{
        grid-template-columns:74px minmax(0,1fr) !important;
        gap:14px !important;
    }
    .caivan-page .caivan-overview-icon{
        width:70px !important;
        height:70px !important;
    }
    .caivan-page .caivan-hero-laso__grid--eight{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
    .caivan-page .caivan-laso-field{
        min-height:58px !important;
    }
    .caivan-page .caivan-scope-line{
        align-items:flex-start !important;
    }
}


/* ===== V19: tự thiết kế lại sạch 2 khối đầu trang, không bám chắp vá demo cũ ===== */
.caivan-page .caivan-hero--v19{
    padding:22px 0 22px !important;
}

.caivan-page .caivan-hero--v19 .caivan-wrap.caivan-top-redesign{
    width:min(2140px, calc(100vw - 70px)) !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:minmax(760px, 1.22fr) minmax(680px, .88fr) !important;
    gap:30px !important;
    align-items:stretch !important;
}

.caivan-page .caivan-hero-panel-v19,
.caivan-page .caivan-overview-v19{
    min-height:330px !important;
    height:auto !important;
    overflow:visible !important;
    border-radius:24px !important;
    border:1px solid rgba(216,171,77,.30) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.28) !important;
}

.caivan-page .caivan-hero-panel-v19{
    padding:52px 64px 44px !important;
    background:
        linear-gradient(90deg, rgba(3,13,28,.98) 0%, rgba(3,13,28,.78) 46%, rgba(3,13,28,.30) 100%),
        url('../caivan/hero-dark.webp') center center / cover no-repeat !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-hero-panel-v19{
    background:
        linear-gradient(90deg, rgba(255,252,244,.98) 0%, rgba(255,250,239,.88) 50%, rgba(255,250,239,.40) 100%),
        url('../caivan/hero-light.webp') center center / cover no-repeat !important;
}

.caivan-page .caivan-hero-panel-v19 h1{
    font-family:Georgia, "Times New Roman", serif !important;
    font-size:clamp(54px, 4.15vw, 72px) !important;
    line-height:1.02 !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    color:#fff2bd !important;
    margin:0 0 16px !important;
    max-width:820px !important;
    white-space:nowrap !important;
    text-shadow:0 4px 18px rgba(0,0,0,.30) !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-hero-panel-v19 h1{
    color:#7d1519 !important;
    text-shadow:none !important;
}

.caivan-page .caivan-hero-panel-v19 .caivan-hero__gold-line{
    margin:0 0 18px !important;
    color:#f0c766 !important;
    font-size:16px !important;
    line-height:1.45 !important;
    font-weight:850 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
}

.caivan-page .caivan-hero-panel-v19 p{
    max-width:800px !important;
    margin:0 !important;
    color:rgba(236,242,250,.88) !important;
    font-size:16px !important;
    line-height:1.66 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-hero-panel-v19 p{
    color:#4d4136 !important;
}

.caivan-page .caivan-hero-panel-v19 .caivan-hero__actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:18px !important;
    margin-top:30px !important;
}

.caivan-page .caivan-hero-panel-v19 .caivan-btn{
    height:52px !important;
    min-height:52px !important;
    padding:0 28px !important;
    border-radius:14px !important;
    font-size:15px !important;
    font-weight:900 !important;
    gap:10px !important;
}

/* Khối tổng quan mới */
.caivan-page .caivan-overview-v19{
    padding:26px 30px !important;
    background:rgba(4,15,31,.82) !important;
    backdrop-filter:blur(16px) !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v19{
    background:rgba(255,255,255,.88) !important;
}

.caivan-page .caivan-overview-v19__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    padding-bottom:13px !important;
    margin-bottom:18px !important;
    border-bottom:1px solid rgba(216,171,77,.14) !important;
}

.caivan-page .caivan-overview-v19__head h2{
    margin:0 !important;
    color:#f4c76e !important;
    font-size:15px !important;
    line-height:1.3 !important;
    font-weight:950 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
}

.caivan-page .caivan-overview-v19__head h2::after{
    content:" »";
    opacity:.72;
}

.caivan-page .caivan-overview-v19__head a{
    color:#f4c76e !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-overview-v19__body{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) !important;
    gap:28px !important;
    align-items:start !important;
    padding-bottom:18px !important;
    margin-bottom:14px !important;
    border-bottom:1px solid rgba(216,171,77,.14) !important;
}

.caivan-page .caivan-overview-v19 .caivan-overview-icon{
    width:94px !important;
    height:94px !important;
    border-radius:20px !important;
    margin:0 !important;
    float:none !important;
    align-self:start !important;
    overflow:hidden !important;
    border:1px solid rgba(216,171,77,.34) !important;
    background:rgba(216,171,77,.08) !important;
    box-shadow:0 0 36px rgba(216,171,77,.20), inset 0 0 22px rgba(216,171,77,.12) !important;
}

.caivan-page .caivan-overview-v19__grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(118px, 1fr)) !important;
    gap:0 18px !important;
    min-width:0 !important;
}

.caivan-page .caivan-overview-v19 .caivan-laso-field{
    display:block !important;
    min-height:68px !important;
    padding:3px 0 10px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
}

.caivan-page .caivan-overview-v19 .caivan-laso-field span{
    display:block !important;
    margin:0 0 8px !important;
    color:#aeb7c5 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-overview-v19 .caivan-laso-field strong{
    display:block !important;
    color:#f5f7fb !important;
    font-size:17px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

.caivan-page .caivan-overview-v19 .caivan-laso-summary--compact{
    display:block !important;
    clear:none !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
}

.caivan-page .caivan-overview-v19 .caivan-scope-line{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    min-height:54px !important;
    padding:11px 16px !important;
    border-radius:14px !important;
    border:1px solid rgba(216,171,77,.23) !important;
    background:rgba(3,13,28,.42) !important;
}

.caivan-page .caivan-overview-v19 .caivan-scope-line i{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    display:grid !important;
    place-items:center !important;
    color:#f4c76e !important;
    border-radius:50% !important;
    border:1px solid rgba(216,171,77,.30) !important;
    background:rgba(216,171,77,.10) !important;
}

.caivan-page .caivan-overview-v19 .caivan-scope-line span{
    margin:0 !important;
    color:#aeb7c5 !important;
    font-size:14px !important;
    font-weight:750 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-overview-v19 .caivan-scope-line strong{
    color:#f5f7fb !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:850 !important;
    white-space:normal !important;
}

.caivan-page .caivan-overview-v19 .caivan-laso-summary--compact > div:not(.caivan-scope-line){
    display:none !important;
}

.caivan-hidden-laso-value{
    display:none !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v19__head h2,
.caivan-page:not(.caivan-theme-dark) .caivan-overview-v19__head a{
    color:#8b1118 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v19 .caivan-laso-field span,
.caivan-page:not(.caivan-theme-dark) .caivan-overview-v19 .caivan-scope-line span{
    color:#7a6352 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v19 .caivan-laso-field strong,
.caivan-page:not(.caivan-theme-dark) .caivan-overview-v19 .caivan-scope-line strong{
    color:#211407 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v19 .caivan-scope-line{
    background:rgba(255,250,239,.72) !important;
    border-color:rgba(166,119,36,.20) !important;
}

@media(max-width:1720px){
    .caivan-page .caivan-hero--v19 .caivan-wrap.caivan-top-redesign{
        width:min(1560px, calc(100vw - 40px)) !important;
        grid-template-columns:minmax(0, 1.18fr) minmax(650px, .92fr) !important;
        gap:26px !important;
    }
    .caivan-page .caivan-hero-panel-v19{
        padding:46px 54px 40px !important;
    }
    .caivan-page .caivan-hero-panel-v19 h1{
        font-size:54px !important;
    }
    .caivan-page .caivan-overview-v19{
        padding:24px 28px !important;
    }
    .caivan-page .caivan-overview-v19__body{
        grid-template-columns:96px minmax(0,1fr) !important;
        gap:24px !important;
    }
    .caivan-page .caivan-overview-v19 .caivan-overview-icon{
        width:86px !important;
        height:86px !important;
    }
    .caivan-page .caivan-overview-v19 .caivan-laso-field span{
        font-size:12px !important;
    }
    .caivan-page .caivan-overview-v19 .caivan-laso-field strong{
        font-size:15px !important;
    }
}

@media(max-width:1320px){
    .caivan-page .caivan-hero--v19 .caivan-wrap.caivan-top-redesign{
        grid-template-columns:1fr !important;
    }
    .caivan-page .caivan-hero-panel-v19 h1{
        white-space:normal !important;
    }
}

@media(max-width:760px){
    .caivan-page .caivan-hero--v19 .caivan-wrap.caivan-top-redesign{
        width:min(100% - 22px, 2140px) !important;
    }
    .caivan-page .caivan-hero-panel-v19{
        padding:30px 22px !important;
    }
    .caivan-page .caivan-hero-panel-v19 h1{
        font-size:40px !important;
    }
    .caivan-page .caivan-overview-v19__body{
        grid-template-columns:76px minmax(0,1fr) !important;
        gap:16px !important;
    }
    .caivan-page .caivan-overview-v19 .caivan-overview-icon{
        width:70px !important;
        height:70px !important;
    }
    .caivan-page .caivan-overview-v19__grid{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
    .caivan-page .caivan-overview-v19 .caivan-laso-field{
        min-height:58px !important;
    }
    .caivan-page .caivan-overview-v19 .caivan-scope-line{
        align-items:flex-start !important;
    }
}


/* ===== V20: cân lại riêng khối Tổng quan lá số cá nhân, icon lên header, chữ phủ đều khung ===== */
.caivan-page .caivan-overview-v20{
    min-height:330px !important;
    height:auto !important;
    padding:26px 30px !important;
    border-radius:24px !important;
    overflow:visible !important;
}

.caivan-page .caivan-overview-v20__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    padding-bottom:18px !important;
    margin-bottom:18px !important;
    border-bottom:1px solid rgba(216,171,77,.15) !important;
}

.caivan-page .caivan-overview-v20__brand{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    min-width:0 !important;
}

.caivan-page .caivan-overview-v20 .caivan-overview-icon{
    width:78px !important;
    height:78px !important;
    min-width:78px !important;
    border-radius:18px !important;
    margin:0 !important;
    float:none !important;
    overflow:hidden !important;
    border:1px solid rgba(216,171,77,.34) !important;
    background:rgba(216,171,77,.08) !important;
    box-shadow:0 0 32px rgba(216,171,77,.20), inset 0 0 20px rgba(216,171,77,.12) !important;
}

.caivan-page .caivan-overview-v20__head h2{
    margin:0 !important;
    color:#f4c76e !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:950 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    white-space:normal !important;
}

.caivan-page .caivan-overview-v20__head h2::after{
    content:" »";
    opacity:.72;
}

.caivan-page .caivan-overview-v20__head a{
    color:#f4c76e !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}

/* 8 mục trải đều toàn bộ chiều ngang, không chừa mảng trống bên phải */
.caivan-page .caivan-overview-v20__grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    column-gap:28px !important;
    row-gap:16px !important;
    min-width:0 !important;
    padding:0 0 18px !important;
    margin:0 0 16px !important;
    border-bottom:1px solid rgba(216,171,77,.15) !important;
}

.caivan-page .caivan-overview-v20 .caivan-laso-field{
    display:block !important;
    min-height:54px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
}

.caivan-page .caivan-overview-v20 .caivan-laso-field span{
    display:block !important;
    margin:0 0 7px !important;
    color:#aeb7c5 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-overview-v20 .caivan-laso-field strong{
    display:block !important;
    color:#f5f7fb !important;
    font-size:17px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

/* Thanh phạm vi nằm cuối, full ngang */
.caivan-page .caivan-overview-v20 .caivan-laso-summary--compact{
    display:block !important;
    clear:none !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
}

.caivan-page .caivan-overview-v20 .caivan-laso-summary--compact > div:not(.caivan-scope-line){
    display:none !important;
}

.caivan-page .caivan-overview-v20 .caivan-scope-line{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    min-height:54px !important;
    padding:11px 16px !important;
    border-radius:14px !important;
    border:1px solid rgba(216,171,77,.23) !important;
    background:rgba(3,13,28,.42) !important;
}

.caivan-page .caivan-overview-v20 .caivan-scope-line i{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    display:grid !important;
    place-items:center !important;
    color:#f4c76e !important;
    border-radius:50% !important;
    border:1px solid rgba(216,171,77,.30) !important;
    background:rgba(216,171,77,.10) !important;
}

.caivan-page .caivan-overview-v20 .caivan-scope-line span{
    margin:0 !important;
    color:#aeb7c5 !important;
    font-size:14px !important;
    font-weight:750 !important;
    white-space:nowrap !important;
}

.caivan-page .caivan-overview-v20 .caivan-scope-line strong{
    color:#f5f7fb !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:850 !important;
    white-space:normal !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v20__head h2,
.caivan-page:not(.caivan-theme-dark) .caivan-overview-v20__head a{
    color:#8b1118 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v20 .caivan-laso-field span,
.caivan-page:not(.caivan-theme-dark) .caivan-overview-v20 .caivan-scope-line span{
    color:#7a6352 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v20 .caivan-laso-field strong,
.caivan-page:not(.caivan-theme-dark) .caivan-overview-v20 .caivan-scope-line strong{
    color:#211407 !important;
}

.caivan-page:not(.caivan-theme-dark) .caivan-overview-v20 .caivan-scope-line{
    background:rgba(255,250,239,.72) !important;
    border-color:rgba(166,119,36,.20) !important;
}

@media(max-width:1720px){
    .caivan-page .caivan-overview-v20{
        padding:24px 28px !important;
    }
    .caivan-page .caivan-overview-v20 .caivan-overview-icon{
        width:72px !important;
        height:72px !important;
        min-width:72px !important;
    }
    .caivan-page .caivan-overview-v20__grid{
        column-gap:22px !important;
        row-gap:14px !important;
    }
    .caivan-page .caivan-overview-v20 .caivan-laso-field span{
        font-size:12px !important;
    }
    .caivan-page .caivan-overview-v20 .caivan-laso-field strong{
        font-size:15px !important;
    }
}

@media(max-width:760px){
    .caivan-page .caivan-overview-v20__head{
        align-items:flex-start !important;
        flex-direction:column !important;
    }
    .caivan-page .caivan-overview-v20__grid{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
    .caivan-page .caivan-overview-v20 .caivan-scope-line{
        align-items:flex-start !important;
    }
}


/* ===== V21: hard reset riêng khối Tổng quan lá số cá nhân bằng class mới hoàn toàn ===== */
.caivan-page .cv-overview-card{
    min-height:330px !important;
    height:auto !important;
    padding:26px 30px !important;
    border-radius:24px !important;
    border:1px solid rgba(216,171,77,.30) !important;
    background:rgba(4,15,31,.82) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(16px) !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

.caivan-page .cv-overview-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    padding-bottom:16px !important;
    margin-bottom:18px !important;
    border-bottom:1px solid rgba(216,171,77,.16) !important;
}

.caivan-page .cv-overview-brand{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    min-width:0 !important;
}

.caivan-page .cv-overview-avatar{
    width:74px !important;
    height:74px !important;
    min-width:74px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    display:grid !important;
    place-items:center !important;
    border:1px solid rgba(216,171,77,.34) !important;
    background:rgba(216,171,77,.08) !important;
    box-shadow:0 0 30px rgba(216,171,77,.20), inset 0 0 20px rgba(216,171,77,.12) !important;
}

.caivan-page .cv-overview-avatar img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

.caivan-page .cv-overview-avatar.is-fallback::before{
    content:"✦";
    color:#f4c76e;
    font-size:34px;
}

.caivan-page .cv-overview-title span{
    display:block !important;
    color:#f4c76e !important;
    font-size:15px !important;
    line-height:1.3 !important;
    font-weight:950 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    white-space:normal !important;
}

.caivan-page .cv-overview-title span::after{
    content:" »";
    opacity:.72;
}

.caivan-page .cv-overview-link{
    color:#f4c76e !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}

.caivan-page .cv-overview-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    column-gap:30px !important;
    row-gap:16px !important;
    padding:0 0 18px !important;
    margin:0 0 16px !important;
    border-bottom:1px solid rgba(216,171,77,.16) !important;
    min-width:0 !important;
}

.caivan-page .cv-overview-item{
    display:block !important;
    min-height:54px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    min-width:0 !important;
}

.caivan-page .cv-overview-item span{
    display:block !important;
    margin:0 0 7px !important;
    color:#aeb7c5 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

.caivan-page .cv-overview-item strong{
    display:block !important;
    color:#f5f7fb !important;
    font-size:17px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

.caivan-page .cv-overview-scope{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    min-height:54px !important;
    padding:11px 16px !important;
    border-radius:14px !important;
    border:1px solid rgba(216,171,77,.23) !important;
    background:rgba(3,13,28,.42) !important;
    box-sizing:border-box !important;
}

.caivan-page .cv-overview-scope i{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    display:grid !important;
    place-items:center !important;
    color:#f4c76e !important;
    border-radius:50% !important;
    border:1px solid rgba(216,171,77,.30) !important;
    background:rgba(216,171,77,.10) !important;
}

.caivan-page .cv-overview-scope span{
    margin:0 !important;
    color:#aeb7c5 !important;
    font-size:14px !important;
    font-weight:750 !important;
    white-space:nowrap !important;
}

.caivan-page .cv-overview-scope strong{
    color:#f5f7fb !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:850 !important;
    white-space:normal !important;
}

.caivan-page .caivan-hidden-laso-value{
    display:none !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-card{
    background:rgba(255,255,255,.88) !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-title span,
.caivan-page:not(.caivan-theme-dark) .cv-overview-link{
    color:#8b1118 !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-item span,
.caivan-page:not(.caivan-theme-dark) .cv-overview-scope span{
    color:#7a6352 !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-item strong,
.caivan-page:not(.caivan-theme-dark) .cv-overview-scope strong{
    color:#211407 !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-scope{
    background:rgba(255,250,239,.72) !important;
    border-color:rgba(166,119,36,.20) !important;
}

@media(max-width:1720px){
    .caivan-page .cv-overview-card{
        padding:24px 28px !important;
    }
    .caivan-page .cv-overview-avatar{
        width:68px !important;
        height:68px !important;
        min-width:68px !important;
    }
    .caivan-page .cv-overview-grid{
        column-gap:22px !important;
        row-gap:14px !important;
    }
    .caivan-page .cv-overview-item span{
        font-size:12px !important;
    }
    .caivan-page .cv-overview-item strong{
        font-size:15px !important;
    }
}

@media(max-width:760px){
    .caivan-page .cv-overview-head{
        align-items:flex-start !important;
        flex-direction:column !important;
    }
    .caivan-page .cv-overview-grid{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
    .caivan-page .cv-overview-scope{
        align-items:flex-start !important;
    }
}


/* =========================================================
   V22 CLEAN TOP AREA
   Dọn sạch vùng đầu trang bằng class mới, không dùng class overview cũ
   ========================================================= */

.caivan-page .cv-top-clean,
.caivan-page .cv-top-clean *{
    box-sizing:border-box !important;
}

.caivan-page .cv-top-clean{
    position:relative !important;
    padding:22px 0 24px !important;
    background:
        radial-gradient(circle at 8% 18%, rgba(216,171,77,.10), transparent 22%),
        radial-gradient(circle at 92% 0%, rgba(216,171,77,.10), transparent 24%),
        #06111f !important;
    overflow:visible !important;
}

.caivan-page .cv-top-clean::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    background:url('../caivan/page-banner-dark.webp') center top / cover no-repeat !important;
    opacity:.42 !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-top-clean{
    background:#fff8ec !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-top-clean::before{
    background-image:url('../caivan/page-banner-light.webp') !important;
    opacity:.34 !important;
}

.caivan-page .cv-top-clean__inner{
    position:relative !important;
    z-index:1 !important;
    width:min(2140px, calc(100vw - 70px)) !important;
    max-width:none !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:minmax(760px, 1.18fr) minmax(720px, .92fr) !important;
    gap:30px !important;
    align-items:stretch !important;
}

/* Khối trái */
.caivan-page .cv-hero-clean{
    min-height:350px !important;
    padding:52px 64px 44px !important;
    border-radius:24px !important;
    border:1px solid rgba(216,171,77,.30) !important;
    background:
        linear-gradient(90deg, rgba(3,13,28,.98) 0%, rgba(3,13,28,.76) 48%, rgba(3,13,28,.28) 100%),
        url('../caivan/hero-dark.webp') center center / cover no-repeat !important;
    box-shadow:0 24px 70px rgba(0,0,0,.26) !important;
    overflow:hidden !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-hero-clean{
    background:
        linear-gradient(90deg, rgba(255,252,244,.98) 0%, rgba(255,250,239,.88) 50%, rgba(255,250,239,.42) 100%),
        url('../caivan/hero-light.webp') center center / cover no-repeat !important;
}

.caivan-page .cv-hero-clean h1{
    margin:0 0 16px !important;
    max-width:850px !important;
    font-family:Georgia, "Times New Roman", serif !important;
    font-size:clamp(54px, 4.15vw, 72px) !important;
    line-height:1.02 !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    color:#fff2bd !important;
    white-space:nowrap !important;
    text-shadow:0 4px 18px rgba(0,0,0,.30) !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-hero-clean h1{
    color:#7d1519 !important;
    text-shadow:none !important;
}

.caivan-page .cv-hero-clean__tagline{
    margin:0 0 18px !important;
    color:#f0c766 !important;
    font-size:16px !important;
    line-height:1.45 !important;
    font-weight:850 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
}

.caivan-page .cv-hero-clean p{
    margin:0 !important;
    max-width:800px !important;
    color:rgba(236,242,250,.88) !important;
    font-size:16px !important;
    line-height:1.66 !important;
    font-weight:500 !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-hero-clean p{
    color:#4d4136 !important;
}

.caivan-page .cv-hero-clean__actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:18px !important;
    margin-top:30px !important;
}

.caivan-page .cv-clean-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    height:52px !important;
    min-height:52px !important;
    padding:0 28px !important;
    border-radius:14px !important;
    text-decoration:none !important;
    border:1px solid transparent !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    cursor:pointer !important;
}

.caivan-page .cv-clean-btn--gold{
    color:#261802 !important;
    background:linear-gradient(135deg, #fff0b4, #e4aa2f 56%, #ffd873) !important;
    box-shadow:0 12px 28px rgba(216,171,77,.23), inset 0 1px 0 rgba(255,255,255,.36) !important;
}

.caivan-page .cv-clean-btn--ghost{
    color:#f1d69b !important;
    background:rgba(4,15,31,.42) !important;
    border-color:rgba(91,124,180,.45) !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-clean-btn--ghost{
    color:#8b1118 !important;
    background:rgba(255,250,239,.62) !important;
    border-color:rgba(139,17,24,.18) !important;
}

/* Khối phải */
.caivan-page .cv-overview-clean{
    min-height:350px !important;
    padding:26px 30px !important;
    border-radius:24px !important;
    border:1px solid rgba(216,171,77,.30) !important;
    background:rgba(4,15,31,.84) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.26) !important;
    backdrop-filter:blur(14px) !important;
    overflow:visible !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-clean{
    background:rgba(255,255,255,.88) !important;
}

.caivan-page .cv-overview-clean__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 18px !important;
    padding:0 0 16px !important;
    border-bottom:1px solid rgba(216,171,77,.16) !important;
}

.caivan-page .cv-overview-clean__brand{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    min-width:0 !important;
}

.caivan-page .cv-overview-clean__icon{
    width:74px !important;
    height:74px !important;
    min-width:74px !important;
    max-width:74px !important;
    max-height:74px !important;
    display:block !important;
    object-fit:cover !important;
    border-radius:18px !important;
    border:1px solid rgba(216,171,77,.34) !important;
    background:rgba(216,171,77,.08) !important;
    box-shadow:0 0 30px rgba(216,171,77,.20), inset 0 0 20px rgba(216,171,77,.12) !important;
    overflow:hidden !important;
}

.caivan-page .cv-overview-clean__brand h2{
    margin:0 !important;
    color:#f4c76e !important;
    font-size:15px !important;
    line-height:1.3 !important;
    font-weight:950 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    white-space:normal !important;
}

.caivan-page .cv-overview-clean__brand h2::after{
    content:" »";
    opacity:.72;
}

.caivan-page .cv-overview-clean__link{
    color:#f4c76e !important;
    text-decoration:none !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}

.caivan-page .cv-overview-clean__grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    column-gap:30px !important;
    row-gap:16px !important;
    min-width:0 !important;
    padding:0 0 18px !important;
    margin:0 0 16px !important;
    border-bottom:1px solid rgba(216,171,77,.16) !important;
}

.caivan-page .cv-overview-clean__grid > div{
    display:block !important;
    min-width:0 !important;
    min-height:54px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
}

.caivan-page .cv-overview-clean__grid span{
    display:block !important;
    margin:0 0 7px !important;
    color:#aeb7c5 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

.caivan-page .cv-overview-clean__grid strong{
    display:block !important;
    color:#f5f7fb !important;
    font-size:17px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

.caivan-page .cv-overview-clean__scope{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    min-height:54px !important;
    padding:11px 16px !important;
    border-radius:14px !important;
    border:1px solid rgba(216,171,77,.23) !important;
    background:rgba(3,13,28,.42) !important;
}

.caivan-page .cv-overview-clean__scope i{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    display:grid !important;
    place-items:center !important;
    color:#f4c76e !important;
    border-radius:50% !important;
    border:1px solid rgba(216,171,77,.30) !important;
    background:rgba(216,171,77,.10) !important;
}

.caivan-page .cv-overview-clean__scope span{
    margin:0 !important;
    color:#aeb7c5 !important;
    font-size:14px !important;
    font-weight:750 !important;
    white-space:nowrap !important;
}

.caivan-page .cv-overview-clean__scope strong{
    color:#f5f7fb !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:850 !important;
    white-space:normal !important;
}

.caivan-page .caivan-hidden-laso-value{
    display:none !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-clean__brand h2,
.caivan-page:not(.caivan-theme-dark) .cv-overview-clean__link{
    color:#8b1118 !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-clean__grid span,
.caivan-page:not(.caivan-theme-dark) .cv-overview-clean__scope span{
    color:#7a6352 !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-clean__grid strong,
.caivan-page:not(.caivan-theme-dark) .cv-overview-clean__scope strong{
    color:#211407 !important;
}

.caivan-page:not(.caivan-theme-dark) .cv-overview-clean__scope{
    background:rgba(255,250,239,.72) !important;
    border-color:rgba(166,119,36,.20) !important;
}

@media(max-width:1720px){
    .caivan-page .cv-top-clean__inner{
        width:min(1560px, calc(100vw - 40px)) !important;
        grid-template-columns:minmax(0,1.16fr) minmax(650px,.92fr) !important;
        gap:26px !important;
    }
    .caivan-page .cv-hero-clean{
        padding:46px 54px 40px !important;
    }
    .caivan-page .cv-hero-clean h1{
        font-size:54px !important;
    }
    .caivan-page .cv-overview-clean{
        padding:24px 28px !important;
    }
    .caivan-page .cv-overview-clean__icon{
        width:68px !important;
        height:68px !important;
        min-width:68px !important;
        max-width:68px !important;
        max-height:68px !important;
    }
    .caivan-page .cv-overview-clean__grid{
        column-gap:22px !important;
        row-gap:14px !important;
    }
    .caivan-page .cv-overview-clean__grid span{
        font-size:12px !important;
    }
    .caivan-page .cv-overview-clean__grid strong{
        font-size:15px !important;
    }
}

@media(max-width:1320px){
    .caivan-page .cv-top-clean__inner{
        grid-template-columns:1fr !important;
    }
    .caivan-page .cv-hero-clean h1{
        white-space:normal !important;
    }
}

@media(max-width:760px){
    .caivan-page .cv-top-clean__inner{
        width:min(100% - 22px, 2140px) !important;
    }
    .caivan-page .cv-hero-clean{
        min-height:auto !important;
        padding:30px 22px !important;
    }
    .caivan-page .cv-hero-clean h1{
        font-size:40px !important;
    }
    .caivan-page .cv-overview-clean__head{
        align-items:flex-start !important;
        flex-direction:column !important;
    }
    .caivan-page .cv-overview-clean__grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .caivan-page .cv-overview-clean__scope{
        align-items:flex-start !important;
    }
}


/* ===== V23: fix thanh Phạm vi tự dò bị dính chữ và khóa giờ sinh không đụng layout ===== */
.caivan-page .cv-overview-clean__scope{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    flex-wrap:nowrap !important;
}

.caivan-page .cv-overview-clean__scope span{
    display:inline-flex !important;
    margin-right:4px !important;
    white-space:nowrap !important;
}

.caivan-page .cv-overview-clean__scope strong{
    display:inline !important;
    margin-left:0 !important;
}

.caivan-page .cv-overview-clean__scope .cv-hidden-extra,
.caivan-page .cv-overview-clean__scope [data-caivan-extra-hidden]{
    display:none !important;
}

@media(max-width:760px){
    .caivan-page .cv-overview-clean__scope{
        flex-wrap:wrap !important;
    }
}


/* ===== V24: giờ sinh Tỵ, ngày sinh kèm lịch, Phạm vi tự dò hiện Thân cư theo cung thật ===== */
.caivan-page .cv-overview-clean__scope strong em,
.caivan-page [data-caivan-scope-than]{
    color:#f4c76e !important;
    font-style:normal !important;
    font-weight:950 !important;
}

.caivan-page .cv-overview-clean__grid{
    column-gap:24px !important;
}

.caivan-page .cv-overview-clean__grid strong{
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
}

.caivan-page .cv-overview-clean__scope{
    gap:12px !important;
}

.caivan-page .cv-overview-clean__scope span{
    white-space:nowrap !important;
}

.caivan-page .cv-overview-clean__scope strong{
    white-space:normal !important;
    line-height:1.35 !important;
}

/* ===== V25: chỉnh phần sao cần cải vận nổi bật ===== */
.caivan-page #caivan-stars-section{
    margin-top:22px !important;
}
.caivan-page #caivan-stars-section .caivan-section-title--stars{
    text-align:center !important;
    margin:0 0 22px !important;
}
.caivan-page #caivan-stars-section .caivan-stars-count-wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    margin:0 0 14px !important;
}
.caivan-page #caivan-stars-section .caivan-stars-count-wrap::before,
.caivan-page #caivan-stars-section .caivan-stars-count-wrap::after{
    content:'';
    width:68px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,217,122,0), rgba(255,217,122,.95), rgba(255,217,122,0));
    box-shadow:0 0 12px rgba(255,217,122,.6);
}
.caivan-page #caivan-stars-section .caivan-stars-count-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:8px 18px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg, rgba(27,37,70,.92), rgba(13,19,39,.96)) !important;
    border:1px solid rgba(214,171,82,.32) !important;
    color:#f6d177 !important;
    font-size:14px !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22), 0 0 16px rgba(214,171,82,.12) inset !important;
}
.caivan-page #caivan-stars-section .caivan-section-title h2{
    font-size:32px !important;
    line-height:1.15 !important;
    margin:0 0 10px !important;
}
.caivan-page #caivan-stars-section .caivan-section-title p{
    max-width:780px !important;
    margin:0 auto !important;
    line-height:1.6 !important;
}
.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:16px !important;
    align-items:stretch !important;
}
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    min-height:300px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:rgba(4,14,31,.94) !important;
    border:1px solid rgba(216,171,77,.26) !important;
    box-shadow:0 14px 36px rgba(0,0,0,.24) !important;
}
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image.is-active{
    border-color:#e7b85a !important;
    box-shadow:0 0 0 1px rgba(231,184,90,.85), 0 18px 42px rgba(231,184,90,.15) !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__num{
    top:10px !important;
    left:10px !important;
    z-index:3 !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__photo{
    height:162px !important;
    background-size:cover !important;
    background-position:center 20% !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__content{
    padding:14px 14px 8px !important;
    text-align:center !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__content h3{
    font-size:18px !important;
    line-height:1.18 !important;
    margin:0 0 7px !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__content span{
    display:block !important;
    margin-bottom:6px !important;
    font-size:12px !important;
    color:#d7dff0 !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.caivan-page #caivan-stars-section .caivan-star-card__content small{
    display:block !important;
    font-size:12px !important;
    color:#f5c76b !important;
    line-height:1.35 !important;
}
.caivan-page #caivan-stars-section .caivan-mini-btn{
    margin:0 14px 14px !important;
}
.caivan-page #caivan-stars-section .caivan-star-card.is-collapsed{
    display:none !important;
}
.caivan-page #caivan-stars-section .caivan-stars-more-wrap{
    display:flex !important;
    justify-content:center !important;
    margin-top:18px !important;
}
.caivan-page #caivan-stars-section .caivan-stars-more-wrap[hidden]{
    display:none !important;
}
.caivan-page #caivan-stars-section .caivan-stars-more-btn{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    padding:12px 22px !important;
    border-radius:999px !important;
    border:1px solid rgba(216,171,77,.34) !important;
    background:linear-gradient(180deg, rgba(17,29,58,.96), rgba(10,18,37,.96)) !important;
    color:#f6d177 !important;
    font-size:14px !important;
    font-weight:700 !important;
    transition:all .2s ease !important;
}
.caivan-page #caivan-stars-section .caivan-stars-more-btn:hover{
    transform:translateY(-1px) !important;
    border-color:rgba(231,184,90,.62) !important;
    box-shadow:0 12px 24px rgba(0,0,0,.20) !important;
}
@media (max-width: 1360px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 1080px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 768px){
    .caivan-page #caivan-stars-section .caivan-stars-count-wrap::before,
    .caivan-page #caivan-stars-section .caivan-stars-count-wrap::after{
        width:38px;
    }
    .caivan-page #caivan-stars-section .caivan-section-title h2{
        font-size:28px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 560px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        display:flex !important;
        overflow-x:auto !important;
        gap:14px !important;
        padding-bottom:10px !important;
        scroll-snap-type:x mandatory !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        min-width:244px !important;
        scroll-snap-align:start !important;
    }
}


/* ===== V28: bố cục 60/40 cho phần sao + điểm tu tập + top thành viên ===== */
.caivan-page #caivan-stars-section{
    margin-top:20px !important;
}

.caivan-page #caivan-stars-section .caivan-section-title--stars{
    margin:0 0 18px !important;
    text-align:center !important;
}

.caivan-page #caivan-stars-section .caivan-stars-count-wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    margin:0 0 12px !important;
}

.caivan-page #caivan-stars-section .caivan-stars-count-wrap::before,
.caivan-page #caivan-stars-section .caivan-stars-count-wrap::after{
    content:'' !important;
    width:64px !important;
    height:2px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg, rgba(255,217,122,0), rgba(255,217,122,.9), rgba(255,217,122,0)) !important;
    box-shadow:0 0 12px rgba(255,217,122,.58) !important;
}

.caivan-page #caivan-stars-section .caivan-stars-count-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:8px 18px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg, rgba(27,37,70,.92), rgba(13,19,39,.96)) !important;
    border:1px solid rgba(214,171,82,.32) !important;
    color:#f6d177 !important;
    font-size:14px !important;
    font-weight:850 !important;
    letter-spacing:.04em !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22), 0 0 16px rgba(214,171,82,.12) inset !important;
}

.caivan-page #caivan-stars-section .caivan-section-title h2{
    margin:0 0 8px !important;
    font-size:32px !important;
    line-height:1.15 !important;
}

.caivan-page #caivan-stars-section .caivan-section-title p{
    max-width:760px !important;
    margin:0 auto !important;
    line-height:1.58 !important;
}

.caivan-page #caivan-stars-section .caivan-stars-dashboard{
    display:grid !important;
    grid-template-columns:minmax(0, 60fr) minmax(420px, 40fr) !important;
    gap:18px !important;
    align-items:start !important;
}

.caivan-page #caivan-stars-section .caivan-stars-dashboard__left,
.caivan-page #caivan-stars-section .caivan-stars-dashboard__right{
    min-width:0 !important;
}

.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
}

/* Card sao dạng ô gọn, không kéo dài full ngang */
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    min-height:176px !important;
    height:176px !important;
    display:grid !important;
    grid-template-columns:82px minmax(0, 1fr) !important;
    grid-template-rows:1fr auto !important;
    column-gap:13px !important;
    row-gap:10px !important;
    align-items:center !important;
    position:relative !important;
    padding:16px 14px 14px 16px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(244,199,110,.12), transparent 36%),
        linear-gradient(180deg, rgba(8,19,39,.97), rgba(4,13,29,.98)) !important;
    border:1px solid rgba(216,171,77,.26) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image:hover,
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image.is-active{
    border-color:rgba(244,199,110,.78) !important;
    box-shadow:0 0 0 1px rgba(244,199,110,.34), 0 18px 40px rgba(244,199,110,.12) !important;
    transform:translateY(-2px) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__num{
    position:absolute !important;
    top:10px !important;
    left:10px !important;
    z-index:4 !important;
    min-width:31px !important;
    height:29px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 7px !important;
    border-radius:10px !important;
    font-size:12px !important;
    font-style:normal !important;
    font-weight:950 !important;
    color:#231407 !important;
    background:linear-gradient(135deg, #fff0a8 0%, #d99b24 58%, #ffe39a 100%) !important;
    border:1px solid rgba(255,232,151,.50) !important;
    box-shadow:0 8px 16px rgba(0,0,0,.22) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    min-height:76px !important;
    display:block !important;
    border-radius:16px !important;
    background-size:cover !important;
    background-position:center center !important;
    border:1px solid rgba(244,199,110,.22) !important;
    box-shadow:0 10px 22px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.04) !important;
    overflow:hidden !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo::after{
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg, rgba(2,8,18,0) 34%, rgba(4,13,29,.30) 100%) !important;
    pointer-events:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content{
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    padding:0 !important;
    text-align:left !important;
    background:transparent !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content h3{
    margin:0 0 7px !important;
    color:#ffe38e !important;
    font-size:18px !important;
    line-height:1.12 !important;
    font-weight:950 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-shadow:0 1px 8px rgba(0,0,0,.25) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content span{
    display:inline-flex !important;
    align-items:center !important;
    max-width:100% !important;
    height:22px !important;
    padding:3px 10px !important;
    margin:0 0 6px !important;
    border-radius:999px !important;
    color:#eaf1ff !important;
    background:rgba(255,255,255,.085) !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:750 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content small{
    display:block !important;
    color:#f3c35f !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.caivan-page #caivan-stars-section .caivan-mini-btn{
    grid-column:2 !important;
    grid-row:2 !important;
    justify-self:start !important;
    align-self:end !important;
    height:30px !important;
    min-height:30px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    margin:0 !important;
    padding:0 12px !important;
    border-radius:999px !important;
    color:#f5c76b !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-decoration:none !important;
    background:rgba(255,255,255,.035) !important;
    border:1px solid rgba(244,199,110,.22) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.caivan-page #caivan-stars-section .caivan-mini-btn:hover{
    color:#2a1903 !important;
    background:linear-gradient(135deg, #fff0a8, #d99b24) !important;
    border-color:rgba(255,232,151,.55) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.is-collapsed{
    display:none !important;
}

.caivan-page #caivan-stars-section .caivan-stars-more-wrap{
    display:flex !important;
    justify-content:center !important;
    margin-top:16px !important;
}

.caivan-page #caivan-stars-section .caivan-stars-more-wrap[hidden]{
    display:none !important;
}

.caivan-page #caivan-stars-section .caivan-stars-more-btn{
    min-width:150px !important;
    height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    border-radius:999px !important;
    background:rgba(8,19,39,.96) !important;
    border:1px solid rgba(244,199,110,.32) !important;
    color:#f5c76b !important;
    font-size:14px !important;
    font-weight:850 !important;
    box-shadow:0 10px 26px rgba(0,0,0,.20) !important;
}

/* Cột phải: Điểm tu tập + Top thành viên */
.caivan-page #caivan-stars-section .caivan-stars-dashboard__right{
    display:grid !important;
    grid-template-columns:minmax(0, .86fr) minmax(0, 1.14fr) !important;
    gap:14px !important;
    align-items:stretch !important;
}

.caivan-page #caivan-stars-section .caivan-side-card{
    min-height:176px !important;
    border-radius:18px !important;
    padding:16px !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(64,154,255,.14), transparent 42%),
        linear-gradient(180deg, rgba(8,19,39,.97), rgba(4,13,29,.98)) !important;
    border:1px solid rgba(216,171,77,.26) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.caivan-page #caivan-stars-section .caivan-side-card__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 0 14px !important;
}

.caivan-page #caivan-stars-section .caivan-side-card__head span{
    color:#f5f7fb !important;
    font-size:14px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}

.caivan-page #caivan-stars-section .caivan-side-card__head i{
    width:32px !important;
    height:32px !important;
    display:grid !important;
    place-items:center !important;
    color:#69b7ff !important;
    border-radius:11px !important;
    background:rgba(64,154,255,.10) !important;
    border:1px solid rgba(64,154,255,.20) !important;
}

.caivan-page #caivan-stars-section .caivan-side-card__head a{
    color:#f5c76b !important;
    font-size:12px !important;
    font-weight:800 !important;
    text-decoration:none !important;
}

.caivan-page #caivan-stars-section .caivan-score-box{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    margin-bottom:16px !important;
}

.caivan-page #caivan-stars-section .caivan-score-box strong{
    display:block !important;
    color:#f5f7fb !important;
    font-size:34px !important;
    line-height:1 !important;
    font-weight:950 !important;
}

.caivan-page #caivan-stars-section .caivan-score-box span{
    color:#aab6c8 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:650 !important;
}

.caivan-page #caivan-stars-section .caivan-score-meta{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
}

.caivan-page #caivan-stars-section .caivan-score-meta div{
    padding:10px !important;
    border-radius:13px !important;
    background:rgba(255,255,255,.035) !important;
    border:1px solid rgba(255,255,255,.06) !important;
}

.caivan-page #caivan-stars-section .caivan-score-meta span{
    display:block !important;
    color:#9fb0c7 !important;
    font-size:11px !important;
    margin-bottom:5px !important;
}

.caivan-page #caivan-stars-section .caivan-score-meta strong{
    color:#f6d177 !important;
    font-size:18px !important;
    font-weight:950 !important;
}

.caivan-page #caivan-stars-section .caivan-ranking-list{
    display:grid !important;
    gap:7px !important;
}

.caivan-page #caivan-stars-section .caivan-ranking-item{
    display:grid !important;
    grid-template-columns:24px minmax(0, 1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    min-height:25px !important;
}

.caivan-page #caivan-stars-section .caivan-ranking-item em{
    width:22px !important;
    height:22px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    color:#2a1903 !important;
    background:linear-gradient(135deg, #fff0a8, #d99b24) !important;
    font-size:11px !important;
    font-style:normal !important;
    font-weight:950 !important;
}

.caivan-page #caivan-stars-section .caivan-ranking-item span{
    color:#e9eef8 !important;
    font-size:13px !important;
    font-weight:700 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

.caivan-page #caivan-stars-section .caivan-ranking-item strong{
    color:#f6d177 !important;
    font-size:12px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}

.caivan-page #caivan-stars-section .caivan-ranking-empty{
    padding:13px !important;
    border-radius:14px !important;
    border:1px dashed rgba(216,171,77,.20) !important;
    background:rgba(255,255,255,.025) !important;
}

.caivan-page #caivan-stars-section .caivan-ranking-empty strong{
    display:block !important;
    color:#f5f7fb !important;
    margin-bottom:5px !important;
}

.caivan-page #caivan-stars-section .caivan-ranking-empty p{
    color:#aab6c8 !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
}

/* Mobile: không vỡ khung, xếp gọn theo thứ tự */
@media(max-width:1360px){
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{
        grid-template-columns:minmax(0, 1fr) !important;
    }
    .caivan-page #caivan-stars-section .caivan-stars-dashboard__right{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:980px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:760px){
    .caivan-page #caivan-stars-section .caivan-section-title h2{
        font-size:26px !important;
    }
    .caivan-page #caivan-stars-section .caivan-stars-count-wrap::before,
    .caivan-page #caivan-stars-section .caivan-stars-count-wrap::after{
        width:36px !important;
    }
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{
        gap:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:1fr !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        height:auto !important;
        min-height:132px !important;
    }
    .caivan-page #caivan-stars-section .caivan-stars-dashboard__right{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:480px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:70px minmax(0, 1fr) !important;
        padding:14px !important;
        column-gap:12px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:66px !important;
        height:66px !important;
        min-width:66px !important;
        min-height:66px !important;
    }
    .caivan-page #caivan-stars-section .caivan-side-card{
        padding:14px !important;
    }
}


/* ===== V29: căn giữa tiêu đề, mặc định 6 sao, avatar sao to hơn và cân khoảng trống ===== */
.caivan-page #caivan-stars-section .caivan-section-title--stars{
    width:100% !important;
    max-width:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.caivan-page #caivan-stars-section .caivan-stars-count-wrap{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
}

.caivan-page #caivan-stars-section .caivan-stars-count-badge{
    text-align:center !important;
}

.caivan-page #caivan-stars-section .caivan-section-title h2,
.caivan-page #caivan-stars-section .caivan-section-title p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.caivan-page #caivan-stars-section .caivan-stars-dashboard{
    grid-template-columns:minmax(0, 60fr) minmax(430px, 40fr) !important;
    gap:18px !important;
}

.caivan-page #caivan-stars-section .caivan-star-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:14px !important;
}

/* Card sao gọn hơn, avatar lớn hơn để không lắt nhắt */
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    min-height:188px !important;
    height:188px !important;
    grid-template-columns:108px minmax(0, 1fr) !important;
    column-gap:15px !important;
    padding:16px 15px 15px 16px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    width:100px !important;
    height:100px !important;
    min-width:100px !important;
    min-height:100px !important;
    border-radius:18px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content h3{
    font-size:19px !important;
    margin-bottom:8px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content span{
    max-width:100% !important;
    height:23px !important;
    padding:4px 11px !important;
}

.caivan-page #caivan-stars-section .caivan-mini-btn{
    height:31px !important;
    min-height:31px !important;
    padding:0 13px !important;
}

.caivan-page #caivan-stars-section .caivan-stars-dashboard__right{
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr) !important;
    align-items:stretch !important;
}

.caivan-page #caivan-stars-section .caivan-side-card{
    min-height:188px !important;
}

/* Khi bấm xem thêm, các sao sau vẫn xổ xuống đúng lưới, không làm lệch cột phải */
.caivan-page #caivan-stars-section .caivan-star-card.is-collapsed{
    display:none !important;
}

@media(max-width:1360px){
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{
        grid-template-columns:1fr !important;
    }
    .caivan-page #caivan-stars-section .caivan-stars-dashboard__right{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:980px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:760px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:1fr !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        height:auto !important;
        min-height:138px !important;
        grid-template-columns:88px minmax(0, 1fr) !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:80px !important;
        height:80px !important;
        min-width:80px !important;
        min-height:80px !important;
    }
    .caivan-page #caivan-stars-section .caivan-stars-dashboard__right{
        grid-template-columns:1fr !important;
    }
    .caivan-page #caivan-stars-section .caivan-side-card{
        min-height:auto !important;
    }
}

@media(max-width:480px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:78px minmax(0, 1fr) !important;
        padding:14px !important;
        column-gap:12px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:72px !important;
        height:72px !important;
        min-width:72px !important;
        min-height:72px !important;
    }
}


/* ===== V30: mô tả một dòng trên PC, avatar to hơn, câu ảnh hưởng dài hơn ===== */
.caivan-page #caivan-stars-section .caivan-section-title p{
    max-width:1180px !important;
    width:100% !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-align:center !important;
    font-size:16px !important;
    line-height:1.45 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    min-height:206px !important;
    height:206px !important;
    grid-template-columns:132px minmax(0, 1fr) !important;
    column-gap:18px !important;
    padding:17px 16px 16px 18px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    width:122px !important;
    height:122px !important;
    min-width:122px !important;
    min-height:122px !important;
    border-radius:20px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content h3{
    font-size:20px !important;
    margin-bottom:8px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content span{
    height:24px !important;
    padding:4px 12px !important;
    margin-bottom:8px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content small{
    font-size:12.5px !important;
    line-height:1.35 !important;
    white-space:normal !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.caivan-page #caivan-stars-section .caivan-mini-btn{
    height:32px !important;
    min-height:32px !important;
}

.caivan-page #caivan-stars-section .caivan-side-card{
    min-height:206px !important;
}

@media(max-width:1360px){
    .caivan-page #caivan-stars-section .caivan-section-title p{
        white-space:normal !important;
        max-width:900px !important;
    }
}

@media(max-width:980px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:118px minmax(0, 1fr) !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:108px !important;
        height:108px !important;
        min-width:108px !important;
        min-height:108px !important;
    }
}

@media(max-width:760px){
    .caivan-page #caivan-stars-section .caivan-section-title p{
        white-space:normal !important;
        font-size:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        height:auto !important;
        min-height:152px !important;
        grid-template-columns:96px minmax(0, 1fr) !important;
        column-gap:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:88px !important;
        height:88px !important;
        min-width:88px !important;
        min-height:88px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content small{
        -webkit-line-clamp:2 !important;
    }
    .caivan-page #caivan-stars-section .caivan-side-card{
        min-height:auto !important;
    }
}

@media(max-width:480px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:86px minmax(0, 1fr) !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:78px !important;
        height:78px !important;
        min-width:78px !important;
        min-height:78px !important;
    }
}


/* ===== V31: tăng avatar sao và làm lại giao diện detail nền đen/card 3D rõ hơn ===== */

/* Card sao trang chính: avatar rộng hơn, chữ ảnh hưởng dễ đọc hơn */
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    min-height:224px !important;
    height:224px !important;
    grid-template-columns:152px minmax(0, 1fr) !important;
    column-gap:18px !important;
    padding:18px 17px 17px 18px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    width:142px !important;
    height:142px !important;
    min-width:142px !important;
    min-height:142px !important;
    border-radius:22px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content h3{
    font-size:21px !important;
    margin-bottom:8px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content small{
    color:#ffd16f !important;
    font-size:13px !important;
    line-height:1.42 !important;
    font-weight:800 !important;
    white-space:normal !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}

/* Detail page: nền đen thống nhất, bỏ cảm giác pha màu lộn xộn */
.caivan-page[data-caivan-page="detail"],
body[data-caivan-page="detail"].caivan-page{
    background:#050d1a !important;
    color:#eef4ff !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-detail-hero,
body[data-caivan-page="detail"] .caivan-detail-hero{
    background:
        radial-gradient(circle at 20% 0%, rgba(244,199,110,.14), transparent 34%),
        linear-gradient(180deg, rgba(8,19,39,.98), rgba(4,12,27,.98)) !important;
    border:1px solid rgba(216,171,77,.24) !important;
    border-radius:28px !important;
    box-shadow:0 26px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-detail-card,
body[data-caivan-page="detail"] .caivan-detail-card{
    border-radius:24px !important;
    background:linear-gradient(180deg, rgba(8,19,39,.94), rgba(4,12,27,.98)) !important;
    border:1px solid rgba(216,171,77,.22) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-detail-hero h1,
body[data-caivan-page="detail"] .caivan-detail-hero h1{
    color:#f7f1df !important;
    text-shadow:0 2px 18px rgba(0,0,0,.35) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-detail-hero p,
body[data-caivan-page="detail"] .caivan-detail-hero p{
    color:#cbd6e8 !important;
    font-size:16px !important;
    line-height:1.68 !important;
    max-width:880px !important;
}

/* Vòng phần trăm: đổi sang dạng 3D sạch, số rõ */
.caivan-page[data-caivan-page="detail"] .caivan-impact-ring,
body[data-caivan-page="detail"] .caivan-impact-ring{
    width:132px !important;
    height:132px !important;
    border-radius:50% !important;
    background:
        radial-gradient(circle at 50% 50%, #071326 0 48%, transparent 49%),
        conic-gradient(#f3c35f var(--impact, 65%), rgba(255,255,255,.10) 0) !important;
    border:1px solid rgba(244,199,110,.35) !important;
    box-shadow:
        0 0 0 8px rgba(244,199,110,.035),
        0 18px 44px rgba(0,0,0,.32),
        inset 0 0 28px rgba(244,199,110,.08) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-impact-ring strong,
body[data-caivan-page="detail"] .caivan-impact-ring strong{
    color:#ffe08a !important;
    font-size:34px !important;
    font-weight:950 !important;
    text-shadow:0 0 18px rgba(244,199,110,.25) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-impact-ring span,
body[data-caivan-page="detail"] .caivan-impact-ring span{
    color:#dce6f6 !important;
    font-size:12px !important;
    font-weight:800 !important;
}

/* 30 ô nhiệm vụ: bỏ pha màu loạn, dùng một hệ màu xanh đen + vàng */
.caivan-page[data-caivan-page="detail"] .caivan-task-list--compact,
body[data-caivan-page="detail"] .caivan-task-list--compact{
    gap:14px !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-tile,
body[data-caivan-page="detail"] .caivan-task-tile{
    border-radius:18px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(244,199,110,.10), transparent 36%),
        linear-gradient(180deg, rgba(8,19,39,.96), rgba(4,12,27,.98)) !important;
    border:1px solid rgba(216,171,77,.20) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035) !important;
    color:#eef4ff !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-tile::before,
body[data-caivan-page="detail"] .caivan-task-tile::before{
    background:linear-gradient(90deg, rgba(244,199,110,.78), rgba(77,156,255,.45)) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-tile.is-selected,
body[data-caivan-page="detail"] .caivan-task-tile.is-selected{
    border-color:rgba(244,199,110,.70) !important;
    box-shadow:0 0 0 1px rgba(244,199,110,.32), 0 18px 44px rgba(244,199,110,.10) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-tile.is-done,
body[data-caivan-page="detail"] .caivan-task-tile.is-done{
    border-color:rgba(100,210,140,.42) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-tile h3,
body[data-caivan-page="detail"] .caivan-task-tile h3{
    color:#f5f7fb !important;
    font-size:14px !important;
    line-height:1.35 !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-tile p,
body[data-caivan-page="detail"] .caivan-task-tile p{
    color:#b6c3d8 !important;
    line-height:1.48 !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-tile small,
body[data-caivan-page="detail"] .caivan-task-tile small{
    color:#f3c35f !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-focus,
body[data-caivan-page="detail"] .caivan-task-focus{
    background:
        radial-gradient(circle at 0% 0%, rgba(244,199,110,.10), transparent 38%),
        linear-gradient(180deg, rgba(8,19,39,.97), rgba(4,12,27,.99)) !important;
    border:1px solid rgba(216,171,77,.24) !important;
    border-radius:22px !important;
    box-shadow:0 18px 52px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-focus h2,
body[data-caivan-page="detail"] .caivan-task-focus h2{
    color:#f7f1df !important;
    font-size:28px !important;
    line-height:1.25 !important;
}

.caivan-page[data-caivan-page="detail"] .caivan-task-focus p,
body[data-caivan-page="detail"] .caivan-task-focus p{
    color:#cbd6e8 !important;
    font-size:15px !important;
    line-height:1.7 !important;
}

/* Mobile */
@media(max-width:980px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:128px minmax(0, 1fr) !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:118px !important;
        height:118px !important;
        min-width:118px !important;
        min-height:118px !important;
    }
}

@media(max-width:760px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        min-height:164px !important;
        height:auto !important;
        grid-template-columns:100px minmax(0, 1fr) !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:92px !important;
        height:92px !important;
        min-width:92px !important;
        min-height:92px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content small{
        -webkit-line-clamp:3 !important;
    }
    .caivan-page[data-caivan-page="detail"] .caivan-impact-ring,
    body[data-caivan-page="detail"] .caivan-impact-ring{
        width:112px !important;
        height:112px !important;
    }
}


/* ===== V32: detail page làm lại vòng %, nền, 30 nhiệm vụ card đen 3D sạch ===== */
body.caivan-page[data-caivan-page="detail"]{
    background:
        radial-gradient(circle at 18% 0%, rgba(244,199,110,.08), transparent 28%),
        radial-gradient(circle at 85% 10%, rgba(63,121,255,.08), transparent 26%),
        #040b17 !important;
    color:#edf4ff !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-main,
body.caivan-page[data-caivan-page="detail"] .caivan-detail-main{
    background:transparent !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-hero{
    padding:26px 0 22px !important;
    background:
        linear-gradient(180deg, rgba(4,11,23,.58), rgba(4,11,23,.96)),
        url('../caivan/detail-dark.webp') center top / cover no-repeat !important;
    border-bottom:1px solid rgba(216,171,77,.12) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-bg{
    display:none !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-card{
    border-radius:28px !important;
    padding:28px !important;
    background:
        radial-gradient(circle at 14% 0%, rgba(244,199,110,.11), transparent 34%),
        linear-gradient(180deg, rgba(8,19,39,.96), rgba(4,12,27,.99)) !important;
    border:1px solid rgba(216,171,77,.22) !important;
    box-shadow:0 26px 90px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-card h1{
    color:#f8f3e7 !important;
    font-size:clamp(36px, 3vw, 56px) !important;
    line-height:1.08 !important;
    letter-spacing:-.02em !important;
    text-shadow:0 2px 22px rgba(0,0,0,.36) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-card p{
    max-width:930px !important;
    color:#cdd8ea !important;
    font-size:16px !important;
    line-height:1.72 !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-impact-row{
    display:grid !important;
    grid-template-columns:170px minmax(0, 1fr) !important;
    align-items:center !important;
    gap:24px !important;
    margin:26px 0 22px !important;
}

/* Vòng % mới: to, rõ, không thô */
body.caivan-page[data-caivan-page="detail"] .caivan-impact-ring{
    width:152px !important;
    height:152px !important;
    border-radius:50% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    background:
        radial-gradient(circle at 50% 50%, #071325 0 52%, transparent 53%),
        conic-gradient(#f6c85f calc(var(--impact) * 1%), rgba(255,255,255,.08) 0) !important;
    border:1px solid rgba(246,200,95,.42) !important;
    box-shadow:
        0 0 0 9px rgba(246,200,95,.035),
        0 20px 48px rgba(0,0,0,.35),
        inset 0 0 26px rgba(246,200,95,.08) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-impact-ring::before{
    content:"" !important;
    position:absolute !important;
    inset:18px !important;
    border-radius:50% !important;
    background:
        radial-gradient(circle at 50% 28%, rgba(246,200,95,.14), transparent 36%),
        #061123 !important;
    border:1px solid rgba(255,255,255,.06) !important;
    box-shadow:inset 0 0 28px rgba(0,0,0,.42) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-impact-ring span{
    position:relative !important;
    z-index:2 !important;
    color:#ffe28d !important;
    font-size:34px !important;
    line-height:1 !important;
    font-weight:950 !important;
    text-shadow:0 0 18px rgba(246,200,95,.22) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-impact-ring small{
    position:relative !important;
    z-index:2 !important;
    margin-top:7px !important;
    color:#f7d888 !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-progress-line{
    height:10px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:inset 0 1px 6px rgba(0,0,0,.36) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-progress-line div{
    height:100% !important;
    border-radius:999px !important;
    background:linear-gradient(90deg, #f6c85f, #fff0aa) !important;
    box-shadow:0 0 18px rgba(246,200,95,.32) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-stats div{
    background:rgba(255,255,255,.035) !important;
    border:1px solid rgba(216,171,77,.15) !important;
    border-radius:16px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
}

/* Section nhiệm vụ */
body.caivan-page[data-caivan-page="detail"] .caivan-task-section{
    padding-top:28px !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-section-title--left{
    text-align:left !important;
    max-width:980px !important;
    margin-bottom:18px !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-section-title--left h2{
    color:#f8f3e7 !important;
    font-size:30px !important;
    line-height:1.22 !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-section-title--left p{
    color:#bcc8dc !important;
    font-size:15px !important;
    line-height:1.65 !important;
}

/* Focus card nhiệm vụ: sạch, rõ, 3D */
body.caivan-page[data-caivan-page="detail"] .caivan-task-focus{
    border-radius:24px !important;
    padding:22px !important;
    margin-bottom:18px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(246,200,95,.09), transparent 34%),
        linear-gradient(180deg, rgba(8,19,39,.97), rgba(4,12,27,.99)) !important;
    border:1px solid rgba(216,171,77,.20) !important;
    box-shadow:0 20px 58px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-focus h2{
    color:#f8f3e7 !important;
    font-size:28px !important;
    line-height:1.26 !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-focus p{
    color:#d0dae9 !important;
    font-size:15.5px !important;
    line-height:1.75 !important;
    max-width:980px !important;
}

/* 30 ô nhiệm vụ: bỏ border màu loạn, chỉ một tông xanh đen + vàng */
body.caivan-page[data-caivan-page="detail"] .caivan-task-list--compact{
    display:grid !important;
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
    gap:14px !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card,
body.caivan-page[data-caivan-page="detail"] .caivan-task-card--compact{
    min-height:172px !important;
    padding:15px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(246,200,95,.07), transparent 34%),
        linear-gradient(180deg, rgba(8,19,39,.96), rgba(4,12,27,.99)) !important;
    border:1px solid rgba(216,171,77,.18) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035) !important;
    color:#eef4ff !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card::before{
    display:none !important;
    content:none !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card--compact:hover,
body.caivan-page[data-caivan-page="detail"] .caivan-task-card--compact:focus-visible,
body.caivan-page[data-caivan-page="detail"] .caivan-task-card--compact.is-selected{
    transform:translateY(-2px) !important;
    border-color:rgba(246,200,95,.58) !important;
    box-shadow:0 0 0 1px rgba(246,200,95,.24), 0 18px 44px rgba(246,200,95,.08) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(246,200,95,.11), transparent 36%),
        linear-gradient(180deg, rgba(10,23,46,.98), rgba(5,14,30,.99)) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card--compact.is-done{
    border-color:rgba(90,210,142,.36) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card__day{
    background:rgba(75,139,255,.12) !important;
    color:#b9d8ff !important;
    border:1px solid rgba(75,139,255,.18) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card--compact h3{
    color:#f5f7fb !important;
    font-size:14px !important;
    line-height:1.35 !important;
    min-height:38px !important;
    margin-top:12px !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card__excerpt{
    color:#aebbd0 !important;
    font-size:12px !important;
    line-height:1.45 !important;
    margin:8px 0 12px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card__meta{
    margin-top:auto !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card__meta span{
    color:#f6c85f !important;
    font-weight:900 !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-card__meta b{
    color:#9fb0c7 !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-state{
    background:rgba(255,255,255,.06) !important;
    color:#d9e5f7 !important;
    border:1px solid rgba(255,255,255,.08) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-state--done{
    color:#70e39d !important;
    border-color:rgba(112,227,157,.24) !important;
    background:rgba(112,227,157,.08) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-task-state--locked{
    color:#b7c0cf !important;
}

/* Mobile không vỡ */
@media(max-width:1280px){
    body.caivan-page[data-caivan-page="detail"] .caivan-task-list--compact{
        grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    }
}

@media(max-width:900px){
    body.caivan-page[data-caivan-page="detail"] .caivan-detail-card{
        grid-template-columns:1fr !important;
    }
    body.caivan-page[data-caivan-page="detail"] .caivan-detail-impact-row{
        grid-template-columns:1fr !important;
    }
    body.caivan-page[data-caivan-page="detail"] .caivan-task-list--compact{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:560px){
    body.caivan-page[data-caivan-page="detail"] .caivan-detail-card{
        padding:20px !important;
        border-radius:22px !important;
    }
    body.caivan-page[data-caivan-page="detail"] .caivan-impact-ring{
        width:126px !important;
        height:126px !important;
    }
    body.caivan-page[data-caivan-page="detail"] .caivan-task-list--compact{
        grid-template-columns:1fr !important;
    }
}


/* ===== V33: card sao gọn lại, avatar nằm ô vuông rõ hơn, ngoài card chỉ giữ mức ảnh hưởng ngắn ===== */
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    min-height:194px !important;
    height:194px !important;
    grid-template-columns:132px minmax(0, 1fr) !important;
    column-gap:18px !important;
    padding:16px 16px 16px 18px !important;
    align-items:center !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    width:118px !important;
    height:118px !important;
    min-width:118px !important;
    min-height:118px !important;
    border-radius:20px !important;
    background-position:center center !important;
    box-shadow:0 16px 32px rgba(0,0,0,.22) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:8px !important;
    padding-right:10px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content h3{
    margin:0 !important;
    font-size:23px !important;
    line-height:1.1 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content span{
    margin:0 !important;
    height:auto !important;
    min-height:30px !important;
    padding:6px 12px !important;
    border-radius:999px !important;
    font-size:13px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content small{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    color:#f3c96d !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content small i{
    color:#ffd566 !important;
    font-size:13px !important;
    flex:0 0 auto !important;
}

.caivan-page #caivan-stars-section .caivan-star-card .caivan-mini-btn{
    align-self:flex-start !important;
    margin-top:12px !important;
}

@media(max-width:980px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:122px minmax(0, 1fr) !important;
        min-height:186px !important;
        height:186px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:108px !important;
        height:108px !important;
        min-width:108px !important;
        min-height:108px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content h3{
        font-size:21px !important;
    }
}

@media(max-width:760px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:96px minmax(0, 1fr) !important;
        min-height:156px !important;
        height:auto !important;
        padding:14px !important;
        column-gap:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:88px !important;
        height:88px !important;
        min-width:88px !important;
        min-height:88px !important;
        border-radius:18px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content h3{
        font-size:20px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content span{
        font-size:12px !important;
        min-height:28px !important;
        padding:5px 10px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content small{
        font-size:13px !important;
    }
}

@media(max-width:480px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:88px minmax(0, 1fr) !important;
        min-height:148px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:80px !important;
        height:80px !important;
        min-width:80px !important;
        min-height:80px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content h3{
        font-size:18px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content small{
        font-size:12.5px !important;
    }
}

/* ===== V34: card sao ngoài gọn hơn, chỉ còn mức độ, bấm trực tiếp vào avatar ===== */
.caivan-page #caivan-stars-section .caivan-section-title.caivan-section-title--stars,
.caivan-page #caivan-stars-section .caivan-section-title.caivan-section-title--stars p,
.caivan-page #caivan-stars-section .caivan-stars-count-wrap{
    text-align:center !important;
    justify-content:center !important;
}

.caivan-page #caivan-stars-section .caivan-section-title.caivan-section-title--stars p{
    max-width:880px !important;
    margin:14px auto 0 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    min-height:182px !important;
    height:182px !important;
    grid-template-columns:146px minmax(0, 1fr) !important;
    column-gap:20px !important;
    padding:18px 18px 18px 20px !important;
    align-items:center !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    width:132px !important;
    height:132px !important;
    min-width:132px !important;
    min-height:132px !important;
    border-radius:22px !important;
    background-size:cover !important;
    background-position:center center !important;
    box-shadow:0 16px 34px rgba(0,0,0,.24) !important;
    overflow:hidden !important;
    position:relative !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo::before{
    content:'Mở chi tiết';
    position:absolute;
    inset:auto 10px 10px 10px;
    border-radius:999px;
    background:rgba(7,17,36,.78);
    color:#f7d878;
    font-size:12px;
    font-weight:800;
    line-height:1;
    padding:8px 10px;
    text-align:center;
    opacity:0;
    transform:translateY(6px);
    transition:all .2s ease;
}

.caivan-page #caivan-stars-section .caivan-star-card:hover .caivan-star-card__photo::before,
.caivan-page #caivan-stars-section .caivan-star-card__photo:focus::before{
    opacity:1;
    transform:translateY(0);
}

.caivan-page #caivan-stars-section .caivan-star-card__content{
    gap:10px !important;
    padding-right:6px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content h3{
    font-size:25px !important;
    line-height:1.1 !important;
    margin:0 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content span{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:100% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content .caivan-star-card__level,
.caivan-page #caivan-stars-section .caivan-star-card__content small.caivan-star-card__level{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    background:rgba(242,196,88,.10) !important;
    border:1px solid rgba(242,196,88,.22) !important;
    color:#ffd86f !important;
    padding:7px 12px !important;
    border-radius:999px !important;
    font-size:15px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    width:max-content !important;
    max-width:100% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content .caivan-star-card__level i,
.caivan-page #caivan-stars-section .caivan-star-card__content small.caivan-star-card__level i{
    color:#ffd24c !important;
    font-size:13px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card .caivan-mini-btn{
    display:none !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-card{
    background:linear-gradient(180deg, rgba(7,22,48,.96), rgba(4,16,36,.98)) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-impact-note{
    margin:16px 0 18px !important;
    padding:16px 18px !important;
    border-radius:18px !important;
    border:1px solid rgba(242,196,88,.16) !important;
    background:rgba(9,23,48,.64) !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-impact-note > span{
    display:block !important;
    font-size:12px !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    color:#9fb6d4 !important;
    margin-bottom:6px !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-impact-note > strong{
    display:block !important;
    font-size:20px !important;
    line-height:1.2 !important;
    color:#ffd56d !important;
    margin-bottom:8px !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-detail-impact-note > p{
    margin:0 !important;
    color:#eef3fb !important;
    font-size:15px !important;
    line-height:1.75 !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-star-seal{
    width:100% !important;
}

body.caivan-page[data-caivan-page="detail"] .caivan-star-seal__photo{
    aspect-ratio:1 / 1 !important;
    width:100% !important;
    min-height:250px !important;
    border-radius:18px 18px 0 0 !important;
    background-size:cover !important;
    background-position:center center !important;
}

@media(max-width:1200px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:132px minmax(0, 1fr) !important;
        min-height:176px !important;
        height:176px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:118px !important;
        height:118px !important;
        min-width:118px !important;
        min-height:118px !important;
    }
}

@media(max-width:760px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:104px minmax(0, 1fr) !important;
        min-height:156px !important;
        height:auto !important;
        padding:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:92px !important;
        height:92px !important;
        min-width:92px !important;
        min-height:92px !important;
        border-radius:18px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content h3{
        font-size:21px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content .caivan-star-card__level,
    .caivan-page #caivan-stars-section .caivan-star-card__content small.caivan-star-card__level{
        font-size:13px !important;
        padding:6px 10px !important;
    }
    body.caivan-page[data-caivan-page="detail"] .caivan-star-seal__photo{
        min-height:210px !important;
    }
}

@media(max-width:520px){
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        grid-template-columns:92px minmax(0, 1fr) !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        width:84px !important;
        height:84px !important;
        min-width:84px !important;
        min-height:84px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__content h3{
        font-size:19px !important;
    }
}


/* ===== V41 HARD FIX: sao cải vận chỉ ảnh đầy đủ + tên sao dưới ảnh, xóa toàn bộ pill/ảnh hưởng ngoài card ===== */
.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding:12px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg,rgba(6,19,46,.98),rgba(3,11,30,.98)) !important;
    border:1px solid rgba(215,168,74,.42) !important;
    box-shadow:0 12px 32px rgba(0,0,0,.24) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__num{
    top:18px !important;
    left:18px !important;
    z-index:4 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    display:block !important;
    position:relative !important;
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:18px !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:rgba(7,17,36,.88) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 12px 26px rgba(0,0,0,.25) !important;
    overflow:hidden !important;
}

/* Xóa sạch các lớp phủ cũ gây nền trắng/kem và chữ ảnh hưởng trên ảnh */
.caivan-page #caivan-stars-section .caivan-star-card__photo::before,
.caivan-page #caivan-stars-section .caivan-star-card__photo::after,
.caivan-page #caivan-stars-section .caivan-star-card__content::before,
.caivan-page #caivan-stars-section .caivan-star-card__content::after,
.caivan-page #caivan-stars-section .caivan-star-card__overlay::before,
.caivan-page #caivan-stars-section .caivan-star-card__overlay::after{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content{
    display:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay{
    position:static !important;
    inset:auto !important;
    z-index:auto !important;
    display:block !important;
    width:100% !important;
    padding:14px 8px 4px !important;
    margin:0 !important;
    text-align:center !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#ffe39a !important;
    font-size:21px !important;
    line-height:1.18 !important;
    font-weight:950 !important;
    text-align:center !important;
    text-shadow:0 2px 10px rgba(0,0,0,.35) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay small,
.caivan-page #caivan-stars-section .caivan-star-card__level,
.caivan-page #caivan-stars-section .caivan-mini-btn{
    display:none !important;
}

@media(max-width:1280px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}
@media(max-width:860px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media(max-width:640px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
        padding:10px !important;
        border-radius:18px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        border-radius:16px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
        font-size:19px !important;
    }
}


/* ===== V42: card sao bé gọn 4 sao 1 dòng, ngôi sao đỏ/vàng theo mức ảnh hưởng ===== */
.caivan-page #caivan-stars-section .caivan-stars-dashboard{
    grid-template-columns:minmax(0, 1.55fr) minmax(360px, .95fr) !important;
    gap:22px !important;
}

.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:14px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding:8px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg, rgba(6,19,46,.98), rgba(3,11,30,.98)) !important;
    border:1px solid rgba(215,168,74,.34) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image:hover,
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image.is-active{
    transform:translateY(-2px) !important;
    border-color:rgba(246,200,95,.76) !important;
    box-shadow:0 0 0 1px rgba(246,200,95,.28), 0 14px 30px rgba(246,200,95,.08) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__num{
    top:12px !important;
    left:12px !important;
    z-index:4 !important;
    min-width:34px !important;
    height:30px !important;
    padding:0 9px !important;
    font-size:13px !important;
    border-radius:9px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    display:block !important;
    position:relative !important;
    width:100% !important;
    aspect-ratio:1 / 0.72 !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:14px !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:rgba(7,17,36,.88) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 10px 20px rgba(0,0,0,.22) !important;
    overflow:hidden !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo::before,
.caivan-page #caivan-stars-section .caivan-star-card__photo::after{
    content:none !important;
    display:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content{
    display:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay{
    display:block !important;
    position:static !important;
    padding:10px 4px 4px !important;
    margin:0 !important;
    text-align:center !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    pointer-events:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
    display:block !important;
    margin:0 0 5px !important;
    padding:0 !important;
    color:#ffe39a !important;
    font-size:18px !important;
    line-height:1.16 !important;
    font-weight:950 !important;
    text-align:center !important;
    text-shadow:0 2px 8px rgba(0,0,0,.35) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay small,
.caivan-page #caivan-stars-section .caivan-star-card__level{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    margin:0 !important;
    padding:0 !important;
    color:#dfe7f5 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:750 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level i{
    color:#ffd34d !important;
    font-size:12px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level b{
    color:#f6c85f !important;
    font-weight:900 !important;
}

/* Rất cao và Cao dùng sao đỏ, Trung bình dùng sao vàng */
.caivan-page #caivan-stars-section .caivan-star-card__level.is-high i,
.caivan-page #caivan-stars-section .caivan-star-card__level.is-very-high i{
    color:#ff4a35 !important;
    text-shadow:0 0 10px rgba(255,74,53,.35) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-high b,
.caivan-page #caivan-stars-section .caivan-star-card__level.is-very-high b{
    color:#ff6654 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-medium i{
    color:#ffd34d !important;
    text-shadow:0 0 10px rgba(255,211,77,.28) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-medium b{
    color:#f6c85f !important;
}

@media(max-width:1360px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

@media(max-width:980px){
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{
        grid-template-columns:1fr !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:560px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        aspect-ratio:1 / 0.68 !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
        font-size:18px !important;
    }
}


/* ===== V43: card sao nhỏ giống demo, số không nền vàng, chữ trắng, ảnh bớt lẹm đầu ===== */
.caivan-page #caivan-stars-section .caivan-stars-dashboard{
    grid-template-columns:minmax(0, 1.55fr) minmax(360px, .95fr) !important;
    gap:22px !important;
    align-items:start !important;
}

.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:14px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg, rgba(5,17,42,.98), rgba(3,10,27,.99)) !important;
    border:1px solid rgba(215,168,74,.36) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image:hover,
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image.is-active{
    transform:translateY(-2px) !important;
    border-color:rgba(246,200,95,.78) !important;
    box-shadow:0 0 0 1px rgba(246,200,95,.26), 0 14px 30px rgba(246,200,95,.08) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__num{
    top:10px !important;
    left:10px !important;
    z-index:4 !important;
    min-width:auto !important;
    height:auto !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:#f2c65f !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-shadow:0 2px 8px rgba(0,0,0,.85) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    display:block !important;
    position:relative !important;
    width:100% !important;
    aspect-ratio:1 / .62 !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:14px 14px 0 0 !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:var(--star-pos, center 42%) !important;
    background-color:rgba(7,17,36,.92) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.03) !important;
    overflow:hidden !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo::before,
.caivan-page #caivan-stars-section .caivan-star-card__photo::after{
    content:none !important;
    display:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content{
    display:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay{
    display:block !important;
    position:static !important;
    width:100% !important;
    padding:10px 8px 12px !important;
    margin:0 !important;
    text-align:center !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    pointer-events:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
    display:block !important;
    margin:0 0 6px !important;
    padding:0 !important;
    color:#f4f7ff !important;
    font-size:18px !important;
    line-height:1.14 !important;
    font-weight:800 !important;
    text-align:center !important;
    text-shadow:0 2px 8px rgba(0,0,0,.40) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay small,
.caivan-page #caivan-stars-section .caivan-star-card__level{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    margin:0 !important;
    padding:0 !important;
    color:#cfd9ea !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level i{
    font-size:11px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level b{
    font-weight:850 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-high i,
.caivan-page #caivan-stars-section .caivan-star-card__level.is-very-high i{
    color:#ff4a35 !important;
    text-shadow:0 0 8px rgba(255,74,53,.30) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-high b,
.caivan-page #caivan-stars-section .caivan-star-card__level.is-very-high b{
    color:#ff6654 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-medium i{
    color:#ffd34d !important;
    text-shadow:0 0 8px rgba(255,211,77,.25) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-medium b{
    color:#f6c85f !important;
}

/* Căn từng ảnh để bớt lẹm đầu/mặt theo bộ ảnh hiện tại */
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="bach_ho"],
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="bach_ho_phu_the"],
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="bach_ho_than_cu_phu_the"]{
    background-position:center 54% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="linh_tinh"]{
    background-position:center 48% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="da_la"]{
    background-position:54% 46% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="tang_mon"]{
    background-position:center 46% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="qua_tu"]{
    background-position:center 44% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="co_than"]{
    background-position:center 48% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="kinh_duong"]{
    background-position:center 48% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="dai_hao"]{
    background-position:center center !important;
}

@media(max-width:1360px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

@media(max-width:980px){
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{
        grid-template-columns:1fr !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:560px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        aspect-ratio:1 / .64 !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
        font-size:18px !important;
    }
}


/* ===== V44: tinh chỉnh đúng demo: số vàng không nền, tên trắng, ảnh hưởng nhỏ, 4 sao/1 dòng, ảnh bị lẹm thì co lại ===== */
.caivan-page #caivan-stars-section .caivan-stars-dashboard{
    grid-template-columns:minmax(0, 1.62fr) minmax(340px, .88fr) !important;
    gap:18px !important;
    align-items:start !important;
}

.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:12px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    display:flex !important;
    flex-direction:column !important;
    padding:0 !important;
    min-height:0 !important;
    height:auto !important;
    border-radius:15px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg, rgba(5,17,42,.98), rgba(3,10,27,.99)) !important;
    border:1px solid rgba(215,168,74,.34) !important;
    box-shadow:0 9px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.025) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image:hover,
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image.is-active{
    transform:translateY(-2px) !important;
    border-color:rgba(246,200,95,.76) !important;
    box-shadow:0 0 0 1px rgba(246,200,95,.24), 0 12px 26px rgba(246,200,95,.08) !important;
}

/* Số thứ tự: không nền, không khung, chỉ số vàng */
.caivan-page #caivan-stars-section .caivan-star-card__num{
    top:10px !important;
    left:10px !important;
    z-index:4 !important;
    min-width:auto !important;
    height:auto !important;
    padding:0 !important;
    background:transparent !important;
    background-image:none !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    color:#f2c65f !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-shadow:0 2px 8px rgba(0,0,0,.92) !important;
}

/* Ảnh nhỏ gọn giống demo */
.caivan-page #caivan-stars-section .caivan-star-card__photo{
    display:block !important;
    position:relative !important;
    width:100% !important;
    aspect-ratio:1 / .60 !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:14px 14px 0 0 !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center 46% !important;
    background-color:rgba(7,17,36,.92) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025) !important;
    overflow:hidden !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo::before,
.caivan-page #caivan-stars-section .caivan-star-card__photo::after{
    content:none !important;
    display:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__content{
    display:none !important;
}

/* Chữ dưới ảnh */
.caivan-page #caivan-stars-section .caivan-star-card__overlay{
    display:block !important;
    position:static !important;
    width:100% !important;
    padding:9px 6px 11px !important;
    margin:0 !important;
    text-align:center !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    pointer-events:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
    display:block !important;
    margin:0 0 5px !important;
    padding:0 !important;
    color:#f4f7ff !important;
    font-size:17px !important;
    line-height:1.14 !important;
    font-weight:800 !important;
    text-align:center !important;
    text-shadow:0 2px 8px rgba(0,0,0,.38) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay small,
.caivan-page #caivan-stars-section .caivan-star-card__level{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    margin:0 !important;
    padding:0 !important;
    color:#cfd9ea !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level i{
    font-size:10px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level b{
    font-weight:850 !important;
}

/* Rất cao/Cao: sao đỏ. Trung bình: sao vàng */
.caivan-page #caivan-stars-section .caivan-star-card__level.is-high i,
.caivan-page #caivan-stars-section .caivan-star-card__level.is-very-high i{
    color:#ff4a35 !important;
    text-shadow:0 0 8px rgba(255,74,53,.30) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-high b,
.caivan-page #caivan-stars-section .caivan-star-card__level.is-very-high b{
    color:#ff6654 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-medium i{
    color:#ffd34d !important;
    text-shadow:0 0 8px rgba(255,211,77,.25) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-medium b{
    color:#f6c85f !important;
}

/* Những ảnh đang bị lẹm đầu/mặt thì cho co lại trong khung */
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="bach_ho"],
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="bach_ho_phu_the"],
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="bach_ho_than_cu_phu_the"],
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="linh_tinh"],
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="da_la"],
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="tang_mon"]{
    background-size:contain !important;
    background-position:center center !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="kinh_duong"]{
    background-size:contain !important;
    background-position:center center !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="qua_tu"]{
    background-position:center 44% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="co_than"]{
    background-position:center 48% !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key="dai_hao"]{
    background-position:center center !important;
}

/* PC vẫn ưu tiên 4 sao 1 dòng */
@media(max-width:1360px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    }
}

@media(max-width:1120px){
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{
        grid-template-columns:1fr !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    }
}

@media(max-width:860px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:560px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__photo{
        aspect-ratio:1 / .64 !important;
    }
    .caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
        font-size:17px !important;
    }
}


/* ===== V45: cố định kích thước ô sao 4 cột, ảnh cùng khuôn để sau này làm ảnh chuẩn ===== */
.caivan-page #caivan-stars-section .caivan-stars-dashboard{
    grid-template-columns:minmax(0, 1.62fr) minmax(340px, .88fr) !important;
    gap:18px !important;
    align-items:start !important;
}
.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
}
.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
    padding:0 !important;
    border-radius:15px !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__photo{
    height:118px !important;
    min-height:118px !important;
    max-height:118px !important;
    aspect-ratio:auto !important;
    border-radius:14px 14px 0 0 !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    flex:0 0 118px !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__overlay{
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
    padding:9px 6px 10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
    font-size:17px !important;
    line-height:1.12 !important;
    margin:0 !important;
    color:#f4f7ff !important;
    font-weight:800 !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__level{
    font-size:12px !important;
    line-height:1.15 !important;
}
.caivan-page #caivan-stars-section .caivan-star-card__num{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:#f2c65f !important;
    padding:0 !important;
}
/* Tạm giữ ảnh cùng khuôn, không co riêng từng sao nữa để anh tạo ảnh đúng size sau này */
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key]{
    background-size:cover !important;
    background-position:center center !important;
}
@media(max-width:1120px){
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{grid-template-columns:1fr !important;}
    .caivan-page #caivan-stars-section .caivan-star-grid{grid-template-columns:repeat(4, minmax(0, 1fr)) !important;}
}
@media(max-width:860px){
    .caivan-page #caivan-stars-section .caivan-star-grid{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;}
}
@media(max-width:560px){
    .caivan-page #caivan-stars-section .caivan-star-grid{grid-template-columns:1fr !important;}
    .caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{height:220px !important;max-height:220px !important;}
    .caivan-page #caivan-stars-section .caivan-star-card__photo{height:145px !important;min-height:145px !important;max-height:145px !important;flex-basis:145px !important;}
    .caivan-page #caivan-stars-section .caivan-star-card__overlay{height:75px !important;min-height:75px !important;max-height:75px !important;}
}


/* ===== V46: card sao rộng hơn, cùng khuôn 4 sao một dòng ===== */
.caivan-page #caivan-stars-section .caivan-stars-dashboard{
    grid-template-columns:minmax(0, 1.72fr) minmax(330px, .82fr) !important;
    gap:18px !important;
    align-items:start !important;
}

.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:14px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg, rgba(5,17,42,.98), rgba(3,10,27,.99)) !important;
    border:1px solid rgba(215,168,74,.36) !important;
    box-shadow:0 9px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.025) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    display:block !important;
    width:100% !important;
    aspect-ratio:1.42 / 1 !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:15px 15px 0 0 !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:rgba(7,17,36,.92) !important;
    overflow:hidden !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__num{
    top:10px !important;
    left:10px !important;
    z-index:4 !important;
    background:transparent !important;
    background-image:none !important;
    border:0 !important;
    box-shadow:none !important;
    color:#f2c65f !important;
    font-size:15px !important;
    font-weight:900 !important;
    padding:0 !important;
    min-width:auto !important;
    height:auto !important;
    text-shadow:0 2px 8px rgba(0,0,0,.92) !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay{
    display:block !important;
    position:static !important;
    width:100% !important;
    padding:9px 6px 11px !important;
    text-align:center !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
    color:#f4f7ff !important;
    font-size:17px !important;
    line-height:1.14 !important;
    font-weight:800 !important;
    margin:0 0 5px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    color:#cfd9ea !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-high i,
.caivan-page #caivan-stars-section .caivan-star-card__level.is-very-high i{
    color:#ff4a35 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-high b,
.caivan-page #caivan-stars-section .caivan-star-card__level.is-very-high b{
    color:#ff6654 !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-medium i{
    color:#ffd34d !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level.is-medium b{
    color:#f6c85f !important;
}

/* Các ảnh dùng cùng một khuôn, không tự co riêng từng sao nữa */
.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key]{
    background-size:cover !important;
    background-position:center center !important;
}

@media(max-width:1380px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    }
}

@media(max-width:1180px){
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:860px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:560px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:1fr !important;
    }
}


/* ===== V47: avatar sao kéo dài hơn, cùng khuôn cố định 4 sao một dòng ===== */
.caivan-page #caivan-stars-section .caivan-stars-dashboard{
    grid-template-columns:minmax(0, 1.78fr) minmax(320px, .78fr) !important;
    gap:18px !important;
}

.caivan-page #caivan-stars-section .caivan-star-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:14px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card.caivan-star-card--image{
    width:100% !important;
    padding:0 !important;
    border-radius:15px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo{
    width:100% !important;
    aspect-ratio:1.68 / 1 !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:14px 14px 0 0 !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__photo[data-star-key]{
    background-size:cover !important;
    background-position:center center !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay{
    padding:9px 6px 11px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__overlay h3{
    font-size:17px !important;
    margin:0 0 5px !important;
}

.caivan-page #caivan-stars-section .caivan-star-card__level{
    font-size:12px !important;
}

@media(max-width:1180px){
    .caivan-page #caivan-stars-section .caivan-stars-dashboard{
        grid-template-columns:1fr !important;
    }
}
@media(max-width:860px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}
@media(max-width:560px){
    .caivan-page #caivan-stars-section .caivan-star-grid{
        grid-template-columns:1fr !important;
    }
}


/* Breadcrumb trang Cải vận */
.cv-main-breadcrumb{display:flex;align-items:center;gap:8px;padding-top:16px;color:#84695a;font-size:13px;font-weight:750;}
.cv-main-breadcrumb a{color:#8a151d;text-decoration:none;}
.cv-main-breadcrumb a:hover{text-decoration:underline;}
.cv-main-breadcrumb strong{color:#5e4538;}
@media(max-width:640px){.cv-main-breadcrumb{width:min(100% - 22px,1180px)!important;padding-top:12px;font-size:12px;}}


/* ===== V3.2.0: cố định giao diện sáng đồng bộ trang Bói nốt ruồi ===== */
body.caivan-page.caivan-force-light,
body.caivan-page-detail-new.caivan-force-light{
    background:#fffaf4!important;
    color:#3a251d!important;
    color-scheme:light!important;
}
body.caivan-page.caivan-force-light .caivan-main,
body.caivan-page-detail-new.caivan-force-light .cvd-page{
    background:transparent!important;
    color:#3a251d!important;
}
body.caivan-page.caivan-force-light .caivan-theme-choices button[data-caivan-theme="dark"]{
    display:none!important;
}


/* ===== V3.3.0: khung giữa 1220px, màu sáng rõ và font Inter ===== */
body.caivan-page,
body.caivan-page button,
body.caivan-page input,
body.caivan-page select,
body.caivan-page textarea {
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.caivan-page .caivan-wrap {
    width: min(1220px, calc(100% - 32px));
    max-width: 1220px;
    margin-inline: auto;
}

body.caivan-page .caivan-main {
    background: #fff8ef;
}

body.caivan-page .cv-top-clean,
body.caivan-page #caivan-stars-section {
    width: 100%;
}

@media (max-width: 820px) {
    body.caivan-page .caivan-wrap {
        width: min(100% - 22px, 1220px);
    }
}


/* V68 fallback: bố cục sáng cân đối cho trang Cải vận */
body.caivan-page,
body.caivan-page button,
body.caivan-page input,
body.caivan-page select,
body.caivan-page textarea {
    font-family: "Inter", Arial, sans-serif;
}
body.caivan-page .cv-profile-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 2.25fr) minmax(300px, .92fr);
    gap: 20px;
    align-items: stretch;
}
body.caivan-page #caivan-stars-section .caivan-star-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.caivan-page #caivan-stars-section .caivan-star-card__photo {
    aspect-ratio: 4 / 5;
    height: auto;
    background-size: cover;
}
@media (max-width: 1080px) {
    body.caivan-page .cv-profile-dashboard { grid-template-columns: 1fr; }
    body.caivan-page .cv-profile-dashboard__side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.caivan-page #caivan-stars-section .caivan-star-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    body.caivan-page #caivan-stars-section .caivan-star-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    body.caivan-page .cv-profile-dashboard__side,
    body.caivan-page #caivan-stars-section .caivan-star-grid { grid-template-columns: 1fr; }
}

/* ===== V3.5.0: banner đỏ, tổng quan gọn, sao ưu tiên và điểm/xếp hạng xuống dưới ===== */
body.caivan-page .cv-hero-clean {
    background-color: #8f1018;
    background-image: linear-gradient(135deg, #710b14 0%, #a80f1c 52%, #d04a31 100%);
}
body.caivan-page .cv-profile-dashboard--compact {
    display: block;
}
body.caivan-page .cv-overview-clean--compact .cv-overview-clean__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
}
body.caivan-page .caivan-after-stars__grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr);
    gap: 18px;
}
@media (max-width: 1080px) {
    body.caivan-page .cv-overview-clean--compact .cv-overview-clean__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    body.caivan-page .caivan-after-stars__grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    body.caivan-page .cv-overview-clean--compact .cv-overview-clean__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
