.atchaya-muhurtham {
    --aj-ink: #1e2140;
    --aj-muted: #68697c;
    --aj-indigo: #25245d;
    --aj-indigo-2: #343279;
    --aj-saffron: #e99522;
    --aj-gold: #f2bd55;
    --aj-cream: #fffaf0;
    --aj-paper: #fffefd;
    --aj-line: #ece5d6;
    --aj-green: #27734d;
    --aj-green-bg: #e9f6ef;
    --aj-red: #aa3842;
    --aj-red-bg: #fff0f1;
    --aj-amber: #9b6918;
    --aj-amber-bg: #fff7df;
    --aj-shadow: 0 22px 70px rgba(37, 36, 93, 0.13);
    width: min(1240px, calc(100% - 28px));
    margin: 28px auto;
    border: 1px solid rgba(37, 36, 93, 0.08);
    border-radius: 28px;
    overflow: hidden;
    background: var(--aj-cream);
    color: var(--aj-ink);
    box-shadow: var(--aj-shadow);
    font-family: "Noto Sans Tamil", "Nirmala UI", Latha, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
    isolation: isolate;
}

.atchaya-muhurtham *,
.atchaya-muhurtham *::before,
.atchaya-muhurtham *::after { box-sizing: border-box; }

.atchaya-muhurtham button,
.atchaya-muhurtham input,
.atchaya-muhurtham select { font: inherit; }

.atchaya-muhurtham button { cursor: pointer; }

.atchaya-muhurtham button:active { transform: scale(0.98); }

.atchaya-muhurtham button:focus-visible,
.atchaya-muhurtham input:focus-visible,
.atchaya-muhurtham select:focus-visible,
.atchaya-muhurtham summary:focus-visible {
    outline: 3px solid rgba(233, 149, 34, 0.35);
    outline-offset: 3px;
}

.aj-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
    align-items: center;
    min-height: 360px;
    padding: 52px clamp(26px, 6vw, 78px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 84% 22%, rgba(242, 189, 85, 0.24), transparent 27%),
        linear-gradient(126deg, #171742 0%, #282665 58%, #3e3778 100%);
}

.aj-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.28;
    background-image:
        linear-gradient(30deg, transparent 49%, rgba(255,255,255,.08) 50%, transparent 51%),
        linear-gradient(150deg, transparent 49%, rgba(255,255,255,.06) 50%, transparent 51%);
    background-size: 52px 90px;
    mask-image: linear-gradient(to right, rgba(0,0,0,.3), rgba(0,0,0,.9));
}

.aj-hero-copy,
.aj-hero-symbol { position: relative; z-index: 2; }

.aj-brand-line {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    color: #fff1d0;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.aj-brand-mark {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    color: var(--aj-indigo);
    background: linear-gradient(145deg, #ffd979, #e99a28);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.25);
}

.aj-hero h1 {
    margin: 0;
    max-width: 770px;
    font-family: "Noto Serif Tamil", "Nirmala UI", Georgia, serif;
    font-size: clamp(2.1rem, 4.3vw, 4.35rem);
    line-height: 1.2;
    letter-spacing: -0.035em;
    color: #fff;
}

.aj-hero h1 em {
    color: #ffd679;
    font-style: normal;
}

.aj-hero-copy > p:not(.aj-brand-line) {
    max-width: 760px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(0.98rem, 1.5vw, 1.08rem);
}

.aj-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 30px;
    color: #f8efd9;
    font-size: 0.85rem;
}

.aj-trust-row span { display: inline-flex; align-items: center; gap: 8px; }
.aj-trust-row i { width: 7px; height: 7px; border-radius: 50%; background: var(--aj-gold); box-shadow: 0 0 0 4px rgba(242,189,85,.13); }

.aj-hero-symbol {
    justify-self: center;
    display: grid;
    place-items: center;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(255, 215, 128, 0.42);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 216, 132, .12), transparent 66%);
    box-shadow: inset 0 0 50px rgba(255,255,255,.05), 0 0 80px rgba(0,0,0,.15);
}

.aj-hero-symbol::before,
.aj-hero-symbol::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px dashed rgba(255, 215, 128, .3);
}
.aj-hero-symbol::before { inset: 18px; }
.aj-hero-symbol::after { inset: 42px; }
.aj-hero-symbol strong { font-family: Georgia, serif; font-size: 4.8rem; font-weight: 400; color: #ffd87d; text-shadow: 0 8px 28px rgba(242,189,85,.3); }
.aj-hero-symbol small { position: absolute; bottom: 48px; color: rgba(255,255,255,.64); letter-spacing: .12em; }
.aj-symbol-ring { position: absolute; inset: 0; animation: aj-orbit 34s linear infinite; }
.aj-symbol-ring span { position: absolute; color: rgba(255, 216, 125, .72); font-size: 1.2rem; }
.aj-symbol-ring span:nth-child(1) { top: -12px; left: 50%; }
.aj-symbol-ring span:nth-child(2) { top: 50%; right: -10px; }
.aj-symbol-ring span:nth-child(3) { bottom: -12px; left: 50%; }
.aj-symbol-ring span:nth-child(4) { top: 50%; left: -10px; }
.aj-hero-orbit { position: absolute; right: -90px; top: -130px; width: 470px; height: 470px; border-radius: 50%; border: 1px solid rgba(255,255,255,.07); }
.aj-hero-orbit span { position: absolute; inset: 55px; border: 1px solid rgba(255,255,255,.05); border-radius: 50%; }
.aj-hero-orbit span:nth-child(2) { inset: 110px; }
.aj-hero-orbit span:nth-child(3) { inset: 165px; }

@keyframes aj-orbit { to { transform: rotate(360deg); } }

.aj-form-panel,
.aj-panel {
    margin: 24px clamp(16px, 4vw, 48px);
    padding: clamp(20px, 3.2vw, 36px);
    border: 1px solid var(--aj-line);
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 10px 35px rgba(38, 34, 78, .055);
}

.aj-form-panel { margin-top: -34px; position: relative; z-index: 5; }

.aj-section-heading,
.aj-result-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.aj-section-heading { margin-bottom: 24px; }
.aj-section-heading h2,
.aj-section-heading h3,
.aj-result-head h2 { margin: 0; color: var(--aj-indigo); line-height: 1.3; }
.aj-section-heading h2 { font-size: clamp(1.35rem, 2.3vw, 1.8rem); }
.aj-section-heading h3,
.aj-result-head h2 { font-size: clamp(1.25rem, 2vw, 1.62rem); }
.aj-eyebrow { margin: 0 0 3px; color: var(--aj-saffron); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.aj-heading-note { color: var(--aj-muted); font-size: .78rem; }

.aj-location-button,
.aj-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid rgba(37,36,93,.16);
    border-radius: 12px;
    color: var(--aj-indigo);
    background: #fff;
    font-weight: 700;
    transition: transform 160ms cubic-bezier(.23,1,.32,1), border-color 160ms, box-shadow 160ms;
}
.aj-location-button:hover,
.aj-secondary-button:hover { border-color: var(--aj-saffron); box-shadow: 0 8px 20px rgba(37,36,93,.09); }

.aj-calculator-form {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(150px, .72fr) minmax(130px, .58fr);
    gap: 18px;
    align-items: end;
}

.aj-field { min-width: 0; position: relative; }
.aj-field--wide { grid-column: auto; }
.aj-field label {
    display: block;
    margin-bottom: 7px;
    color: #34354c;
    font-size: .79rem;
    font-weight: 800;
}

.aj-field input,
.aj-field select {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #dad6cc;
    border-radius: 12px;
    color: var(--aj-ink);
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(27,27,54,.025);
    transition: border-color 160ms, box-shadow 160ms;
}
.aj-field input:hover,
.aj-field select:hover { border-color: #aaa4c1; }
.aj-field input:focus,
.aj-field select:focus { border-color: var(--aj-indigo-2); box-shadow: 0 0 0 4px rgba(52,50,121,.09); outline: 0; }

.aj-input-shell { position: relative; }
.aj-input-shell > span { position: absolute; z-index: 1; left: 15px; top: 50%; transform: translateY(-50%); color: var(--aj-saffron); font-size: 1.15rem; }
.aj-input-shell input { padding-left: 42px; }

.aj-coordinate-group {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding: 16px;
    border-radius: 15px;
    background: #f8f6f0;
}

.aj-place-results {
    position: absolute;
    z-index: 30;
    top: calc(100% + 7px);
    left: 0;
    right: 0;
    max-height: 310px;
    overflow: auto;
    padding: 7px;
    border: 1px solid var(--aj-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(29,29,64,.18);
}
.aj-place-results[hidden] { display: none; }
.aj-place-option {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    width: 100%;
    padding: 11px 12px;
    border: 0;
    border-radius: 9px;
    color: var(--aj-ink);
    background: transparent;
    text-align: left;
}
.aj-place-option:hover,
.aj-place-option:focus { background: #f4f1ff; outline: 0; }
.aj-place-option > span:first-child { color: var(--aj-saffron); }
.aj-place-option small { color: var(--aj-muted); font-size: .72rem; }
.aj-place-message { margin: 0; padding: 12px; color: var(--aj-muted); }
.aj-place-message--error { color: var(--aj-red); }

.aj-form-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 3px;
}
.aj-location-status { margin: 0; color: var(--aj-muted); font-size: .78rem; }
.aj-location-status > span { color: #9ca0aa; font-size: .58rem; }
.aj-location-status[data-state="success"] > span { color: var(--aj-green); }
.aj-location-status[data-state="error"] { color: var(--aj-red); }
.aj-location-status[data-state="error"] > span { color: var(--aj-red); }
.aj-location-status[data-state="loading"] > span { color: var(--aj-saffron); animation: aj-pulse 1s infinite alternate; }

.aj-submit-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 255px;
    min-height: 52px;
    padding: 12px 18px;
    border: 0;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #e28c1a, #c86b12);
    box-shadow: 0 12px 25px rgba(205, 111, 20, .25);
    font-weight: 800;
    transition: transform 160ms cubic-bezier(.23,1,.32,1), box-shadow 180ms, filter 180ms;
}
.aj-submit-button:hover { filter: saturate(1.08) brightness(1.03); box-shadow: 0 15px 28px rgba(205,111,20,.31); }
.aj-submit-button:disabled { cursor: wait; opacity: .75; }
.aj-button-arrow { margin-left: auto; }
.aj-submit-button.is-loading .aj-button-icon { animation: aj-spin 1.1s linear infinite; }

@keyframes aj-spin { to { transform: rotate(360deg); } }
@keyframes aj-pulse { to { opacity: .25; } }

.aj-live-status {
    margin: 0 clamp(16px, 4vw, 48px) 18px;
    padding: 11px 14px;
    border-radius: 10px;
    color: var(--aj-indigo);
    background: #ecebff;
    font-size: .84rem;
}
.aj-live-status[data-state="error"] { color: var(--aj-red); background: var(--aj-red-bg); }
.aj-live-status[data-state="success"] { color: var(--aj-green); background: var(--aj-green-bg); }

.aj-results[aria-busy="true"] { opacity: .48; pointer-events: none; }
.aj-results { transition: opacity 180ms cubic-bezier(.23,1,.32,1); }

.aj-result-head {
    margin: 34px clamp(20px, 4vw, 50px) 18px;
    padding: 0 2px;
}
.aj-result-head h2 { font-family: "Noto Serif Tamil", "Nirmala UI", Georgia, serif; }
.aj-place-line { margin: 7px 0 0; color: var(--aj-muted); font-size: .82rem; }
.aj-place-line > span { color: var(--aj-saffron); }

.aj-engine-badge {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 8px;
    padding: 11px 14px;
    border: 1px solid #d9d6ec;
    border-radius: 13px;
    background: rgba(255,255,255,.75);
    color: var(--aj-indigo);
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}
.aj-engine-badge small { grid-column: 2; color: var(--aj-muted); font-size: .66rem; font-weight: 500; }
.aj-engine-dot { grid-row: 1 / 3; width: 8px; height: 8px; border-radius: 50%; background: #3caa70; box-shadow: 0 0 0 4px #e5f5ec; }

.aj-current-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 clamp(16px, 4vw, 48px);
}
.aj-current-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 128px;
    padding: 18px;
    border: 1px solid var(--aj-line);
    border-radius: 16px;
    background: #fff;
}
.aj-current-card--primary { color: #fff; border-color: transparent; background: linear-gradient(145deg, var(--aj-indigo), var(--aj-indigo-2)); }
.aj-current-card strong { font-size: 1.05rem; line-height: 1.45; }
.aj-current-card > span:not(.aj-card-kicker):not(.aj-status) { color: var(--aj-muted); font-size: .78rem; }
.aj-current-card--primary > span:not(.aj-card-kicker):not(.aj-status) { color: rgba(255,255,255,.7); }
.aj-card-kicker { color: var(--aj-saffron); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.aj-current-value { display: flex; align-items: center; gap: 8px; }
.aj-current-value .aj-rasi-glyph { color: #ffd875; }
.aj-good-text { color: var(--aj-green); }
.aj-avoid-text { color: var(--aj-red); }

.aj-panchanga-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.aj-panchanga-card {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 96px;
    padding: 15px;
    border: 1px solid #ebe6d9;
    border-radius: 14px;
    background: linear-gradient(180deg, #fff, #fffcf7);
}
.aj-panchanga-card > div { display: flex; min-width: 0; flex-direction: column; }
.aj-panchanga-card small { color: var(--aj-muted); font-size: .69rem; }
.aj-panchanga-card strong { margin: 2px 0; color: var(--aj-indigo); font-size: .92rem; line-height: 1.45; }
.aj-panchanga-card div > span { color: var(--aj-saffron); font-size: .7rem; }
.aj-icon-token { display: grid; flex: 0 0 auto; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #9e5c12; background: #fff0d2; font-size: .78rem; font-weight: 900; }

.aj-kalam-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.aj-kalam { display: flex; flex-direction: column; gap: 5px; padding: 14px 16px; border-radius: 13px; border-left: 4px solid; }
.aj-kalam span { color: var(--aj-muted); font-size: .72rem; }
.aj-kalam strong { font-size: .95rem; }
.aj-kalam--good { border-color: var(--aj-green); background: var(--aj-green-bg); }
.aj-kalam--avoid { border-color: var(--aj-red); background: var(--aj-red-bg); }
.aj-kalam--caution { border-color: var(--aj-saffron); background: var(--aj-amber-bg); }

.aj-muhurtha-panel {
    color: #fff;
    border-color: transparent;
    background:
        radial-gradient(circle at 95% 0%, rgba(242,189,85,.2), transparent 30%),
        linear-gradient(135deg, #1c1c4b, #302d70);
}
.aj-muhurtha-panel .aj-section-heading h3 { color: #fff; }
.aj-muhurtha-panel .aj-heading-note { color: rgba(255,255,255,.62); }
.aj-window-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.aj-window-card {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 13px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.075);
}
.aj-window-card .aj-rasi-glyph { color: #ffd77b; }
.aj-window-card > div { display: flex; min-width: 0; flex-direction: column; }
.aj-window-card small { color: #f0ba56; font-size: .65rem; }
.aj-window-card strong { color: #fff; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 1.02rem; }
.aj-window-card span { color: rgba(255,255,255,.68); font-size: .68rem; }
.aj-empty-window { padding: 16px; border: 1px dashed rgba(255,255,255,.25); border-radius: 12px; color: rgba(255,255,255,.76); }

.aj-legend { display: flex; flex-wrap: wrap; gap: 13px; color: var(--aj-muted); font-size: .72rem; }
.aj-legend span { display: inline-flex; align-items: center; gap: 6px; }
.aj-legend-dot { width: 8px; height: 8px; border-radius: 50%; }
.aj-legend-dot--good { background: var(--aj-green); }
.aj-legend-dot--review { background: var(--aj-saffron); }
.aj-legend-dot--avoid { background: var(--aj-red); }

.aj-lagna-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.aj-lagna-card {
    position: relative;
    padding: 17px;
    overflow: hidden;
    border: 1px solid var(--aj-line);
    border-top: 3px solid #aaa;
    border-radius: 15px;
    background: #fff;
    transition: transform 180ms cubic-bezier(.23,1,.32,1), box-shadow 180ms, border-color 180ms;
}
.aj-lagna-card:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(36,35,86,.09); }
.aj-lagna-card--good { border-top-color: var(--aj-green); background: linear-gradient(180deg, #fff, #fbfffc); }
.aj-lagna-card--review { border-top-color: var(--aj-saffron); background: linear-gradient(180deg, #fff, #fffdf8); }
.aj-lagna-card--avoid { border-top-color: var(--aj-red); background: linear-gradient(180deg, #fff, #fffafb); }
.aj-lagna-card.is-selected { box-shadow: 0 0 0 2px var(--aj-indigo), 0 12px 28px rgba(37,36,93,.14); }
.aj-lagna-top { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
.aj-rasi-glyph { font-family: Georgia, serif; font-size: 1.75rem; line-height: 1; color: var(--aj-saffron); }
.aj-lagna-top > div { display: flex; flex-direction: column; }
.aj-lagna-top strong { color: var(--aj-indigo); font-size: .93rem; }
.aj-lagna-top small { color: var(--aj-muted); font-size: .65rem; }
.aj-status { display: inline-flex; width: fit-content; align-items: center; padding: 3px 8px; border-radius: 999px; font-size: .64rem; font-weight: 800; white-space: nowrap; }
.aj-status--good { color: var(--aj-green); background: var(--aj-green-bg); }
.aj-status--review { color: var(--aj-amber); background: var(--aj-amber-bg); }
.aj-status--avoid { color: var(--aj-red); background: var(--aj-red-bg); }
.aj-lagna-time { margin: 14px 0 8px; color: var(--aj-ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.02rem; font-weight: 800; }
.aj-lagna-time span { color: var(--aj-saffron); }
.aj-lagna-time sup,
.aj-data-table sup { margin-left: 1px; color: var(--aj-saffron); font-size: .58em; }
.aj-score { display: flex; gap: 3px; }
.aj-score i { display: block; width: 17px; height: 3px; border-radius: 4px; background: #e8e5dd; }
.aj-score i.is-filled { background: var(--aj-saffron); }
.aj-lagna-card--good .aj-score i.is-filled { background: var(--aj-green); }
.aj-lagna-card--avoid .aj-score i.is-filled { background: var(--aj-red); }
.aj-factor-line,
.aj-caution-line,
.aj-positive-line,
.aj-safe-line { margin: 10px 0 0; font-size: .68rem; line-height: 1.55; }
.aj-factor-line { color: var(--aj-muted); }
.aj-caution-line { color: var(--aj-red); }
.aj-caution-line > span { display: inline-grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; color: white; background: var(--aj-red); font-size: .62rem; font-weight: 900; }
.aj-positive-line { color: var(--aj-green); }
.aj-safe-line { padding: 6px 8px; border-radius: 7px; color: var(--aj-green); background: var(--aj-green-bg); }
.aj-safe-line span { font-weight: 800; }
.aj-selected-flag { position: absolute; right: 0; bottom: 0; padding: 4px 9px; border-radius: 10px 0 0 0; color: #fff; background: var(--aj-indigo); font-size: .6rem; font-weight: 800; }

.aj-details { padding: 0; overflow: hidden; }
.aj-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 24px;
    cursor: pointer;
    color: var(--aj-indigo);
    list-style: none;
}
.aj-details summary::-webkit-details-marker { display: none; }
.aj-details summary > span:first-child { display: flex; flex-direction: column; }
.aj-details summary small { margin-top: 2px; color: var(--aj-muted); font-size: .68rem; font-weight: 400; }
.aj-details[open] summary { border-bottom: 1px solid var(--aj-line); }
.aj-details[open] summary > span:last-child { transform: rotate(180deg); }

.aj-table-wrap { width: 100%; overflow-x: auto; }
.aj-data-table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.aj-data-table th,
.aj-data-table td { padding: 12px 16px; border-bottom: 1px solid #efebe2; text-align: left; white-space: nowrap; }
.aj-data-table th { color: var(--aj-muted); background: #fbfaf7; font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.aj-data-table tbody tr:hover { background: #fffaf0; }
.aj-data-table tbody tr:last-child td { border-bottom: 0; }

/* Hora + Upa Hora + Upa-Upa Hora accordion */
.aj-hora-acc { border: 1px solid var(--aj-line); border-radius: 10px; overflow: hidden; }
.aj-hora-row { display: flex; align-items: center; padding: 10px 16px; cursor: pointer; font-size: .8rem; border-bottom: 1px solid var(--aj-line); user-select: none; }
.aj-hora-row:last-child { border-bottom: none; }
.aj-hora-row:hover { background: #fffaf0; }
.aj-hora-row .aj-hora-time { flex: 1; color: var(--aj-muted); }
.aj-hora-row .aj-hora-planet { font-weight: 700; color: var(--aj-indigo); margin-right: 10px; }
.aj-hora-row .aj-hora-chevron { font-size: .65rem; color: var(--aj-muted); transition: transform .15s; width: 16px; text-align: center; }
.aj-hora-row.open > .aj-hora-chevron { transform: rotate(180deg); }
.aj-hora-row.level1 { background: var(--aj-paper); font-weight: 600; }
.aj-hora-row.level2 { padding-left: 32px; background: #fdfcf9; font-size: .76rem; }
.aj-hora-row.level3 { padding-left: 52px; background: #fbf8f1; font-size: .72rem; cursor: default; }
.aj-hora-row.level3 .aj-hora-planet { color: var(--aj-saffron); }
.aj-hora-sub { display: none; }
.aj-hora-sub.open { display: block; }

/* கோச்சாரம் South Indian Rasi Chakra for selected muhurtham time */
.aj-rasi-chakra { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(4, minmax(100px, auto)); gap: 2px; background: var(--aj-line); border: 2px solid var(--aj-indigo); border-radius: 8px; max-width: 620px; margin: 0 auto; }
.aj-rc-cell { background: var(--aj-paper); padding: 8px 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.aj-rc-planets { display: flex; flex-direction: column; gap: 1px; margin-top: 2px; }
.aj-rc-planet { font-size: .78rem; font-weight: 700; color: var(--aj-red); line-height: 1.3; }
.aj-rc-planet .aj-rc-deg { display: block; font-size: .65rem; font-weight: 400; color: var(--aj-muted); }
.aj-rc-center { grid-column: 2 / 4; grid-row: 2 / 4; background: rgba(37,36,93,.05); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
.aj-rc-center .aj-rc-title { color: var(--aj-indigo); font-weight: 700; font-size: .78rem; }
.aj-rc-center .aj-rc-sub { color: var(--aj-muted); font-size: .62rem; }

.aj-result-footer {
    margin: 22px clamp(16px,4vw,48px) 32px;
    padding: 18px 20px;
    border: 1px dashed #d9cfbb;
    border-radius: 14px;
    color: var(--aj-muted);
    background: rgba(255,255,255,.56);
    font-size: .76rem;
}
.aj-result-footer p { margin: 0; }
.aj-result-footer .aj-engine-note { margin-top: 7px; color: #8a806f; font-size: .67rem; }

.aj-alert { display: flex; flex-direction: column; gap: 5px; margin: 24px clamp(16px,4vw,48px); padding: 18px; border-radius: 14px; }
.aj-alert--error { color: var(--aj-red); border: 1px solid #f3c5c9; background: var(--aj-red-bg); }
.aj-alert a { color: inherit; font-weight: 800; }

.aj-utility-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px clamp(16px,4vw,48px);
    color: #777387;
    background: #f2ede2;
    font-size: .72rem;
}
.aj-utility-bar > span { margin-left: auto; text-align: right; }

@media (max-width: 1020px) {
    .aj-hero { grid-template-columns: 1fr 220px; }
    .aj-current-grid,
    .aj-panchanga-grid,
    .aj-kalam-grid,
    .aj-window-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .aj-lagna-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .aj-calculator-form { grid-template-columns: minmax(0,1.4fr) repeat(2,minmax(140px,.7fr)); }
    .aj-field--wide:first-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .atchaya-muhurtham { width: min(100% - 16px, 1240px); margin: 10px auto; border-radius: 19px; }
    .aj-hero { display: block; min-height: 0; padding: 37px 24px 68px; }
    .aj-hero h1 { font-size: clamp(1.8rem, 8vw, 2.75rem); }
    .aj-hero-symbol { display: none; }
    .aj-trust-row { display: grid; gap: 7px; margin-top: 24px; }
    .aj-form-panel { margin-top: -35px; }
    .aj-section-heading,
    .aj-result-head,
    .aj-form-actions { align-items: stretch; flex-direction: column; }
    .aj-location-button,
    .aj-submit-button { width: 100%; }
    .aj-calculator-form { grid-template-columns: 1fr; }
    .aj-field,
    .aj-field--wide,
    .aj-coordinate-group { grid-column: 1; }
    .aj-coordinate-group { grid-template-columns: 1fr; }
    .aj-place-option { grid-template-columns: 22px minmax(0,1fr); }
    .aj-place-option small { grid-column: 2; }
    .aj-engine-badge { align-self: flex-start; }
    .aj-current-grid,
    .aj-panchanga-grid,
    .aj-kalam-grid,
    .aj-window-grid,
    .aj-lagna-grid { grid-template-columns: 1fr; }
    .aj-legend { margin-top: -12px; }
    .aj-utility-bar { flex-wrap: wrap; }
    .aj-utility-bar > span { width: 100%; margin-left: 0; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    .aj-symbol-ring,
    .aj-location-status[data-state="loading"] > span,
    .aj-submit-button.is-loading .aj-button-icon { animation: none; }
    .aj-results,
    .aj-lagna-card,
    .aj-submit-button { transition: none; }
}

@media print {
    body * { visibility: hidden; }
    .atchaya-muhurtham,
    .atchaya-muhurtham * { visibility: visible; }
    .atchaya-muhurtham { position: absolute; inset: 0 auto auto 0; width: 100%; margin: 0; border: 0; box-shadow: none; background: #fff; }
    .aj-hero { min-height: 190px; padding: 28px; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .aj-hero-symbol,
    .aj-form-panel,
    .aj-live-status,
    .aj-utility-bar,
    .aj-details { display: none !important; }
    .aj-current-grid,
    .aj-panchanga-grid,
    .aj-kalam-grid { grid-template-columns: repeat(4,1fr); }
    .aj-lagna-grid { grid-template-columns: repeat(3,1fr); }
    .aj-panel,
    .aj-lagna-card,
    .aj-current-card { break-inside: avoid; box-shadow: none; }
}

.aj-lagna-row { background: rgba(37,36,93,.05); }
.aj-lagna-row td:first-child { color: var(--aj-indigo, #25235d); }
