
/* ==========================================================
   Vasia Synastries App Theme v1.0.2
   Inspired by the WordPress Synastry theme assets/main.css
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Forum&family=Mulish:wght@400;600;700;800&display=swap');

:root {
    --vasia-bg: #070506;
    --vasia-bg-soft: #110d0f;
    --vasia-panel: #141112;
    --vasia-panel-2: #1b1515;
    --vasia-border: rgba(202, 157, 117, .30);
    --vasia-border-soft: rgba(202, 157, 117, .16);
    --vasia-gold: #CA9D75;
    --vasia-gold-dark: #936D42;
    --vasia-text: #C3BEB6;
    --vasia-white: #FFFCFA;
    --vasia-muted: #948a81;
    --vasia-danger-bg: rgba(153, 27, 27, .20);
    --vasia-danger-text: #ffd7d7;
    --vasia-shadow: 0 28px 80px rgba(0, 0, 0, .48);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.vasia-app,
body.qodef-skin--light.vasia-app {
    margin: 0;
    min-height: 100vh;
    color: var(--vasia-text);
    font-family: "Mulish", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 18% 22%, rgba(255,255,255,.12) 0 1px, transparent 2px),
        radial-gradient(circle at 75% 18%, rgba(255,255,255,.10) 0 1px, transparent 2px),
        radial-gradient(circle at 42% 72%, rgba(255,255,255,.08) 0 1px, transparent 2px),
        radial-gradient(circle at 12% 82%, rgba(202,157,117,.10), transparent 28%),
        radial-gradient(circle at 84% 78%, rgba(202,157,117,.08), transparent 30%),
        linear-gradient(180deg, #050405 0%, #090607 45%, #070506 100%);
    background-size: 420px 420px, 560px 560px, 360px 360px, auto, auto, auto;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

body.vasia-app::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .24;
    background:
        linear-gradient(90deg, transparent 0 97%, rgba(202,157,117,.16) 98% 100%),
        linear-gradient(0deg, transparent 0 97%, rgba(202,157,117,.12) 98% 100%);
    background-size: 124px 124px;
    mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 82%, transparent);
}

body.vasia-app a { color: inherit; }

.vasia-site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 18px clamp(20px, 4vw, 54px);
    background: rgba(7, 5, 6, .94);
    border-bottom: 1px solid rgba(202, 157, 117, .18);
    backdrop-filter: blur(14px);
}

.vasia-logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--vasia-white);
    font-family: "Forum", Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1;
    letter-spacing: .03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.vasia-logo::after {
    content: "✦";
    color: var(--vasia-gold);
    font-size: .62em;
    transform: translateY(-12px);
}

.vasia-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(15px, 2.2vw, 34px);
    flex: 1;
}

.vasia-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    text-decoration: none;
    color: var(--vasia-white);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition: color .24s ease, transform .24s ease;
}

.vasia-nav a::before {
    content: "✦";
    color: var(--vasia-gold-dark);
    font-size: 15px;
    transition: color .24s ease;
}

.vasia-nav a::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 0;
    bottom: -8px;
    height: 1px;
    background: var(--vasia-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .24s ease;
}

.vasia-nav a:hover,
.vasia-nav a.active {
    color: var(--vasia-gold);
    transform: translateY(-1px);
}

.vasia-nav a:hover::after,
.vasia-nav a.active::after { transform: scaleX(1); }

.vasia-header-actions { display: flex; align-items: center; gap: 14px; }

.vasia-icon-btn {
    width: 58px;
    height: 58px;
    border: 1px dashed rgba(202, 157, 117, .42);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--vasia-white);
    text-decoration: none;
    font-size: 24px;
    transition: border-color .24s ease, color .24s ease, transform .24s ease;
}

.vasia-icon-btn:hover { color: var(--vasia-gold); border-color: var(--vasia-gold); transform: rotate(8deg); }

.vasia-page {
    position: relative;
    z-index: 1;
    width: min(1480px, calc(100% - 48px));
    margin: 0 auto;
    padding: clamp(34px, 6vw, 82px) 0;
}

.vasia-hero-grid,
.auth-shell {
    width: min(1480px, calc(100% - 48px));
    min-height: calc(100vh - 86px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr);
    align-items: stretch;
    gap: 0;
    padding: clamp(32px, 6vw, 78px) 0;
}

.vasia-hero-panel,
.hero-card {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    padding: clamp(36px, 5vw, 76px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--vasia-border-soft);
    background:
        radial-gradient(circle at 74% 68%, rgba(202,157,117,.20), transparent 0 14%, transparent 25%),
        radial-gradient(circle at 50% 52%, rgba(255,255,255,.08) 0 1px, transparent 2px),
        radial-gradient(circle at 18% 35%, rgba(255,255,255,.12) 0 1px, transparent 2px),
        linear-gradient(135deg, rgba(18,14,15,.94), rgba(7,5,6,.95));
    background-size: auto, 220px 220px, 340px 340px, auto;
    box-shadow: var(--vasia-shadow);
}

.vasia-hero-panel::after,
.hero-card::after {
    content: "☽";
    position: absolute;
    right: 8%;
    bottom: 8%;
    color: rgba(202,157,117,.22);
    font-family: "Forum", Georgia, serif;
    font-size: clamp(120px, 17vw, 260px);
    line-height: 1;
    pointer-events: none;
}

.hero-card { border-radius: 0; }

.vasia-kicker,
.brand,
.eyebrow {
    margin: 0 0 16px;
    color: var(--vasia-white);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.vasia-kicker::before,
.brand::before,
.eyebrow::before {
    content: "✦";
    color: var(--vasia-gold);
    margin-right: 10px;
}

.vasia-hero-panel h1,
.hero-card h1,
.profile-card h1,
.home-hero h1,
.dating-card h1,
.form-card h2,
.vasia-section-title {
    font-family: "Forum", Georgia, serif;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--vasia-gold);
    letter-spacing: .05em;
    line-height: .98;
}

.vasia-hero-panel h1,
.hero-card h1 {
    max-width: 760px;
    margin: 0 0 28px;
    font-size: clamp(58px, 8vw, 112px);
}

.vasia-hero-panel p,
.hero-card p {
    max-width: 690px;
    margin: 0;
    color: var(--vasia-text);
    font-size: clamp(17px, 1.4vw, 22px);
    line-height: 1.62;
}

.vasia-panel,
.form-card,
.profile-card,
.home-card,
.dating-card {
    border: 1px solid var(--vasia-border-soft);
    background: rgba(15, 12, 13, .96);
    box-shadow: var(--vasia-shadow);
}

.form-card {
    padding: clamp(30px, 4vw, 56px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.form-card h2 {
    margin: 0 0 30px;
    font-size: clamp(42px, 4.7vw, 74px);
}

form { display: grid; gap: 18px; }

label {
    display: grid;
    gap: 9px;
    color: var(--vasia-white);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
}

input,
select,
textarea {
    width: 100%;
    min-height: 54px;
    border: 1px solid rgba(202,157,117,.24);
    border-radius: 0;
    padding: 15px 16px;
    color: var(--vasia-white);
    font: inherit;
    background: rgba(255, 252, 250, .035);
    outline: none;
    transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

textarea { resize: vertical; }

input::placeholder,
textarea::placeholder { color: rgba(195,190,182,.58); }

input:focus,
select:focus,
textarea:focus {
    border-color: var(--vasia-gold);
    background: rgba(202,157,117,.06);
    box-shadow: 0 0 0 3px rgba(202,157,117,.10);
}

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

button,
.button,
.logout,
.quick-actions a,
.vasia-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    border: 1px solid var(--vasia-gold);
    border-radius: 0;
    padding: 15px 24px;
    color: #080607;
    background: var(--vasia-white);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1.1;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .24s ease, background-color .24s ease, border-color .24s ease, transform .24s ease;
}

button::before,
.button::before,
.logout::before,
.quick-actions a::before,
.vasia-btn::before { content: "✦"; color: var(--vasia-gold-dark); }

button:hover,
.button:hover,
.logout:hover,
.quick-actions a:hover,
.vasia-btn:hover {
    color: var(--vasia-white);
    background: var(--vasia-gold-dark);
    border-color: var(--vasia-gold-dark);
    transform: translateY(-2px);
}

.alert {
    margin: 0 0 20px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 180, 180, .22);
    background: var(--vasia-danger-bg);
    color: var(--vasia-danger-text);
    font-weight: 700;
}
.alert p { margin: 0 0 6px; }
.alert p:last-child { margin-bottom: 0; }

.switch { margin: 24px 0 0; color: var(--vasia-muted); text-align: center; }
.switch a { color: var(--vasia-gold); font-weight: 800; text-decoration: none; }
.switch a:hover { text-decoration: underline; }

.quick-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 30px 0 0; }

.home-shell,
.dating-shell { min-height: auto; padding: 0; background: transparent; color: var(--vasia-text); }

.home-card,
.dating-card,
.profile-card {
    width: min(1320px, calc(100% - 48px));
    margin: clamp(34px, 5vw, 72px) auto;
    padding: clamp(30px, 4vw, 58px);
}

.home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .62fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
    margin-bottom: 44px;
}

.home-hero h1,
.dating-card h1,
.profile-card h1 {
    margin: 0 0 18px;
    font-size: clamp(54px, 6vw, 92px);
}

.home-hero p,
.dating-muted,
.profile-card > p {
    color: var(--vasia-text);
    font-size: 18px;
    line-height: 1.65;
}

.score-badge {
    width: 120px;
    height: 120px;
    border: 1px solid var(--vasia-border);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--vasia-gold);
    background: rgba(202,157,117,.06);
    font-family: "Forum", Georgia, serif;
    font-size: 44px;
    line-height: 1;
}

.home-grid,
.match-grid,
.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    border-top: 1px solid var(--vasia-border-soft);
    border-left: 1px solid var(--vasia-border-soft);
}

.home-link,
.match-card,
.info-grid div {
    min-height: 188px;
    padding: 28px 24px;
    color: var(--vasia-text);
    text-decoration: none;
    border-right: 1px solid var(--vasia-border-soft);
    border-bottom: 1px solid var(--vasia-border-soft);
    background: rgba(255,255,255,.015);
    transition: background-color .25s ease, transform .25s ease;
}

.home-link:hover,
.match-card:hover { background: rgba(202,157,117,.065); transform: translateY(-3px); }

.home-link strong,
.match-card strong,
.info-grid strong {
    display: block;
    margin: 0 0 13px;
    color: var(--vasia-gold);
    font-family: "Forum", Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 1.05;
}

.home-link span,
.match-card span,
.info-grid span { color: var(--vasia-muted); line-height: 1.55; }

.match-card .score-badge {
    width: 86px;
    height: 86px;
    margin: 12px 0 14px;
    font-size: 30px;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
    color: var(--vasia-gold);
    text-decoration: none;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.back-link:hover { color: var(--vasia-white); }

.pill-soft {
    display: inline-flex;
    align-items: center;
    margin: 4px 8px 4px 0;
    padding: 8px 12px;
    border: 1px solid var(--vasia-border-soft);
    color: var(--vasia-gold);
    background: rgba(202,157,117,.05);
    font-weight: 800;
}

.synastry-table {
    width: 100%;
    margin-top: 24px;
    border-collapse: collapse;
    border: 1px solid var(--vasia-border-soft);
    background: rgba(255,255,255,.02);
}
.synastry-table th,
.synastry-table td {
    padding: 15px 14px;
    border-bottom: 1px solid var(--vasia-border-soft);
    color: var(--vasia-text);
    text-align: left;
    vertical-align: top;
}
.synastry-table th {
    color: var(--vasia-gold);
    background: rgba(202,157,117,.07);
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.topbar { display: none; }
.dashboard { width: auto; margin: 0; }

.vasia-mobile-note { display: none; }

@media (max-width: 1100px) {
    .vasia-site-header { flex-wrap: wrap; }
    .vasia-nav { order: 3; width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 4px; }
    .vasia-nav a { white-space: nowrap; }
    .vasia-hero-grid,
    .auth-shell { grid-template-columns: 1fr; }
    .vasia-hero-panel,
    .hero-card { min-height: auto; }
}

@media (max-width: 680px) {
    .vasia-site-header { position: relative; padding: 16px 18px; }
    .vasia-header-actions { display: none; }
    .vasia-logo { font-size: 34px; }
    .vasia-nav { gap: 18px; }
    .vasia-hero-grid,
    .auth-shell,
    .home-card,
    .dating-card,
    .profile-card,
    .vasia-page { width: min(100% - 24px, 1320px); }
    .vasia-hero-grid,
    .auth-shell { padding: 18px 0 34px; }
    .vasia-hero-panel,
    .hero-card,
    .form-card,
    .home-card,
    .dating-card,
    .profile-card { padding: 26px 20px; }
    .vasia-hero-panel h1,
    .hero-card h1,
    .home-hero h1,
    .dating-card h1,
    .profile-card h1 { font-size: 48px; }
    .grid-2,
    .home-hero { grid-template-columns: 1fr; }
    .home-grid,
    .match-grid,
    .info-grid { grid-template-columns: 1fr; }
    .synastry-table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* ==========================================================
   Vasia Synastries App Theme v1.0.3
   Unified module styling for Birthday Map, Prediction, Love Map and Astro Admin
   ========================================================== */
body.vasia-module-page .app-shell,
body.vasia-admin-page .app-shell {
    position: relative;
    z-index: 1;
    width: min(1480px, calc(100% - 48px));
    margin: clamp(28px, 4vw, 58px) auto;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    color: var(--vasia-text);
    background: transparent;
}

body.vasia-module-page .sidebar {
    position: sticky;
    top: 110px;
    min-height: auto;
    padding: 28px 22px;
    border: 1px solid var(--vasia-border-soft);
    background: rgba(15, 12, 13, .96);
    box-shadow: var(--vasia-shadow);
}

body.vasia-module-page .sidebar .brand,
body.vasia-module-page .brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    color: var(--vasia-white);
    font-family: "Mulish", system-ui, sans-serif;
    letter-spacing: .12em;
}

body.vasia-module-page .brand small,
body.vasia-module-page .brand span {
    display: block;
    margin-top: 5px;
    color: var(--vasia-muted);
    font-size: 11px;
    letter-spacing: .05em;
    text-transform: none;
}

body.vasia-module-page .logo,
body.vasia-module-page .brand-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--vasia-border);
    color: var(--vasia-gold);
    border-radius: 50%;
}

body.vasia-module-page .sidebar nav {
    display: grid;
    gap: 10px;
}

body.vasia-module-page .sidebar nav a {
    padding: 12px 0;
    border-bottom: 1px solid var(--vasia-border-soft);
    color: var(--vasia-text);
    text-decoration: none;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 12px;
}

body.vasia-module-page .sidebar nav a:hover { color: var(--vasia-gold); }

body.vasia-module-page .content,
body.vasia-module-page .main,
body.vasia-module-page .container {
    min-width: 0;
    color: var(--vasia-text);
}

body.vasia-module-page .content,
body.vasia-admin-page .main {
    display: grid;
    gap: 24px;
}

body.vasia-module-page .hero,
body.vasia-module-page .card,
body.vasia-module-page .results,
body.vasia-module-page .report-card,
body.vasia-module-page .main > section,
body.vasia-module-page .topbar,
body.vasia-module-page .container,
body.vasia-module-page .result {
    border: 1px solid var(--vasia-border-soft);
    background: rgba(15, 12, 13, .96);
    box-shadow: var(--vasia-shadow);
    border-radius: 0;
    color: var(--vasia-text);
}

body.vasia-module-page .hero,
body.vasia-module-page .card,
body.vasia-module-page .results,
body.vasia-module-page .report-card,
body.vasia-module-page .topbar,
body.vasia-module-page .container,
body.vasia-module-page .result {
    padding: clamp(24px, 3vw, 42px);
}

body.vasia-module-page h1,
body.vasia-module-page h2,
body.vasia-module-page h3,
body.vasia-module-page .topbar h1,
body.vasia-module-page .container h2 {
    font-family: "Forum", Georgia, serif;
    font-weight: 400;
    color: var(--vasia-gold);
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1.04;
}

body.vasia-module-page h1,
body.vasia-module-page .topbar h1 {
    margin: 0 0 12px;
    font-size: clamp(44px, 5vw, 78px);
}

body.vasia-module-page h2,
body.vasia-module-page .container h2 {
    margin: 0 0 22px;
    font-size: clamp(34px, 4vw, 58px);
    text-align: left;
}

body.vasia-module-page h3 { font-size: clamp(26px, 3vw, 40px); }
body.vasia-module-page p { color: var(--vasia-text); line-height: 1.65; }
body.vasia-module-page b,
body.vasia-module-page strong { color: var(--vasia-white); }

body.vasia-module-page .grid-form,
body.vasia-module-page form.grid-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

body.vasia-module-page .grid-form button,
body.vasia-module-page form button {
    align-self: end;
}

body.vasia-module-page .print-btn,
body.vasia-module-page .btn,
body.vasia-module-page button {
    border-radius: 0;
}

body.vasia-module-page table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--vasia-border-soft);
    background: rgba(255,255,255,.02);
    color: var(--vasia-text);
}

body.vasia-module-page th,
body.vasia-module-page td {
    padding: 14px;
    border-bottom: 1px solid var(--vasia-border-soft);
    color: var(--vasia-text);
    vertical-align: top;
}

body.vasia-module-page th {
    color: var(--vasia-gold);
    background: rgba(202,157,117,.07);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.vasia-module-page .planet-row,
body.vasia-module-page .aspect-row,
body.vasia-module-page .interpretation,
body.vasia-module-page .item,
body.vasia-module-page .panel {
    border: 1px solid var(--vasia-border-soft);
    background: rgba(255,255,255,.02);
    padding: 18px;
}

body.vasia-module-page #map {
    overflow: hidden;
    box-shadow: var(--vasia-shadow);
}

body.vasia-module-page .leaflet-container {
    font-family: "Mulish", system-ui, sans-serif;
}

body.vasia-module-page .footer {
    color: var(--vasia-muted);
    padding: 24px 0;
    text-align: center;
}

body.vasia-module-page .no-print { color: var(--vasia-text); }

@media (max-width: 980px) {
    body.vasia-module-page .app-shell,
    body.vasia-admin-page .app-shell {
        grid-template-columns: 1fr;
        width: min(100% - 24px, 1480px);
    }
    body.vasia-module-page .sidebar {
        position: relative;
        top: auto;
    }
}

@media print {
    .vasia-site-header,
    body.vasia-module-page .sidebar,
    body.vasia-module-page .print-btn,
    body.vasia-module-page .no-print { display: none !important; }
    body.vasia-module-page .app-shell { display: block; width: 100%; margin: 0; }
    body.vasia-app { background: #fff !important; color: #111 !important; }
}

/* ==========================================================
   Vasia Synastries App Theme v1.0.4
   Beauty pass: cleaner module layout, elegant forms, dark PNG chart container
   ========================================================== */
:root {
    --vasia-radius-lg: 28px;
    --vasia-radius-md: 18px;
    --vasia-card-glow: 0 28px 90px rgba(0,0,0,.60), inset 0 1px 0 rgba(255,255,255,.045);
}

body.vasia-app {
    background-color: var(--vasia-bg);
}

.vasia-site-header {
    min-height: 78px;
    padding-top: 14px;
    padding-bottom: 14px;
}

.vasia-nav a {
    padding: 15px 20px;
    border: 1px solid rgba(202,157,117,.16);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
}

.vasia-nav a::after { display: none; }
.vasia-nav a.active,
.vasia-nav a:hover {
    border-color: rgba(202,157,117,.45);
    background: linear-gradient(180deg, rgba(202,157,117,.14), rgba(202,157,117,.045));
}

body.vasia-module-page .app-shell,
body.vasia-admin-page .app-shell {
    grid-template-columns: 320px minmax(0, 1fr);
    gap: clamp(24px, 3vw, 46px);
    width: min(1560px, calc(100% - 56px));
    margin-top: clamp(24px, 3vw, 48px);
}

body.vasia-module-page .sidebar {
    top: 104px;
    padding: 28px;
    border-radius: var(--vasia-radius-lg);
    border-color: rgba(202,157,117,.22);
    background:
        radial-gradient(circle at 22% 18%, rgba(202,157,117,.18), transparent 0 16%, transparent 34%),
        linear-gradient(180deg, rgba(22,18,18,.96), rgba(10,8,9,.96));
    box-shadow: var(--vasia-card-glow);
}

body.vasia-module-page .sidebar::after {
    content: "";
    display: block;
    height: 1px;
    margin-top: 22px;
    background: linear-gradient(90deg, transparent, rgba(202,157,117,.55), transparent);
}

body.vasia-module-page .sidebar .brand,
body.vasia-module-page .brand {
    margin-bottom: 28px;
    color: var(--vasia-white);
}

body.vasia-module-page .brand b {
    font-size: 20px;
    line-height: 1.05;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.vasia-module-page .logo,
body.vasia-module-page .brand-icon {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border: 0;
    color: #0b0807;
    background: radial-gradient(circle at 30% 26%, #fff6c6, #f5cf77 68%, #b58244 100%);
    box-shadow: 0 16px 36px rgba(202,157,117,.22);
}

body.vasia-module-page .sidebar nav {
    gap: 12px;
}

body.vasia-module-page .sidebar nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 14px 16px;
    border: 1px solid rgba(202,157,117,.15);
    border-radius: 16px;
    background: rgba(255,255,255,.045);
    color: rgba(255,252,250,.76);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

body.vasia-module-page .sidebar nav a::before {
    content: "✦";
    color: var(--vasia-gold);
    font-size: 12px;
}

body.vasia-module-page .sidebar nav a:hover {
    color: var(--vasia-white);
    border-color: rgba(202,157,117,.42);
    background: rgba(202,157,117,.10);
    transform: translateX(2px);
}

body.vasia-module-page .print-btn,
body.vasia-module-page .download-btn,
body.vasia-module-page .btn,
body.vasia-module-page button,
button,
.button,
.logout,
.quick-actions a,
.vasia-btn {
    border-radius: 16px;
    background: linear-gradient(135deg, #ffe99d, #d8a25f 58%, #a8723e);
    color: #070506;
    border-color: rgba(255,233,157,.75);
    box-shadow: 0 16px 40px rgba(202,157,117,.16), inset 0 1px 0 rgba(255,255,255,.28);
}

body.vasia-module-page .print-btn:hover,
body.vasia-module-page .download-btn:hover,
body.vasia-module-page .btn:hover,
body.vasia-module-page button:hover,
button:hover,
.button:hover,
.logout:hover,
.quick-actions a:hover,
.vasia-btn:hover {
    color: #070506;
    background: linear-gradient(135deg, #fff3ba, #e5b370 62%, #bd8550);
    box-shadow: 0 20px 46px rgba(202,157,117,.24), inset 0 1px 0 rgba(255,255,255,.35);
}

body.vasia-module-page .content,
body.vasia-admin-page .main {
    gap: 30px;
}

body.vasia-module-page .hero,
body.vasia-module-page .card,
body.vasia-module-page .results,
body.vasia-module-page .report-card,
body.vasia-module-page .main > section,
body.vasia-module-page .topbar,
body.vasia-module-page .container,
body.vasia-module-page .result,
.vasia-panel,
.form-card,
.profile-card,
.home-card,
.dating-card {
    border-radius: var(--vasia-radius-lg);
    border-color: rgba(202,157,117,.20);
    background:
        radial-gradient(circle at 100% 0%, rgba(202,157,117,.10), transparent 0 22%, transparent 38%),
        linear-gradient(180deg, rgba(18,14,15,.97), rgba(9,7,8,.97));
    box-shadow: var(--vasia-card-glow);
}

body.vasia-module-page .hero {
    position: relative;
    overflow: hidden;
    min-height: 0;
    padding: clamp(32px, 4vw, 56px);
}

body.vasia-module-page .hero::before {
    content: "☽";
    position: absolute;
    right: clamp(24px, 5vw, 76px);
    top: 50%;
    transform: translateY(-50%);
    font-family: "Forum", Georgia, serif;
    font-size: clamp(130px, 16vw, 260px);
    color: rgba(202,157,117,.08);
    pointer-events: none;
}

body.vasia-module-page .hero h1,
body.vasia-module-page .topbar h1 {
    max-width: 980px;
    margin-bottom: 22px;
    font-size: clamp(38px, 4.4vw, 72px);
    line-height: 1.06;
    letter-spacing: .035em;
}

body.vasia-module-page .hero p:not(.eyebrow) {
    max-width: 980px;
    font-size: 18px;
    color: rgba(255,252,250,.72);
}

body.vasia-module-page .eyebrow {
    color: rgba(255,252,250,.70);
    letter-spacing: .22em;
}

body.vasia-module-page .card,
body.vasia-module-page .results,
body.vasia-module-page .report-card,
body.vasia-module-page .container,
body.vasia-module-page .result {
    padding: clamp(28px, 3.5vw, 48px);
}

body.vasia-module-page h2,
body.vasia-module-page .container h2 {
    font-size: clamp(34px, 3.6vw, 58px);
    color: var(--vasia-gold);
}

body.vasia-module-page .grid-form,
body.vasia-module-page form.grid-form,
body.vasia-module-page .filters,
body.vasia-module-page .edit-form {
    align-items: end;
    gap: 20px;
}

input,
select,
textarea {
    min-height: 58px;
    border-radius: 14px;
    border-color: rgba(202,157,117,.28);
    background: rgba(255,252,250,.045);
    color: var(--vasia-white);
    color-scheme: dark;
}

select option {
    background: #110d0f;
    color: var(--vasia-white);
}

input[type="date"],
input[type="time"] {
    color-scheme: dark;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(77%) sepia(22%) saturate(663%) hue-rotate(346deg) brightness(92%);
    opacity: .88;
    cursor: pointer;
}

body.vasia-module-page label,
label {
    color: rgba(255,252,250,.84);
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.table-wrap {
    width: 100%;
    overflow-x: auto;
    border-radius: 20px;
    border: 1px solid rgba(202,157,117,.14);
}

body.vasia-module-page table,
.synastry-table {
    min-width: 720px;
    border: 0;
    overflow: hidden;
}

body.vasia-module-page th,
.synastry-table th {
    color: #f2c88e;
    background: rgba(202,157,117,.10);
}

body.vasia-module-page td,
body.vasia-module-page th,
.synastry-table td,
.synastry-table th {
    border-color: rgba(202,157,117,.12);
}

.summary-grid,
.interpretation-grid,
.cards,
.actions-row,
.actions,
.form-actions {
    display: grid;
    gap: 18px;
}

.summary-grid,
.interpretation-grid,
.cards {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.actions-row,
.actions,
.form-actions {
    grid-template-columns: repeat(auto-fit, minmax(180px, max-content));
    align-items: center;
}

.mini-card,
.interp,
.cards .card,
details,
.text-columns p,
.degree-line {
    border: 1px solid rgba(202,157,117,.15);
    border-radius: 20px;
    background: rgba(255,255,255,.035);
    padding: 20px;
}

.mini-card span,
.mini-card small,
.interp small {
    color: var(--vasia-muted);
}

.mini-card b {
    display: block;
    margin: 8px 0;
    color: var(--vasia-gold);
    font-family: "Forum", Georgia, serif;
    font-size: 38px;
    font-weight: 400;
}

.pill,
.pill-soft {
    border-radius: 999px;
    background: rgba(202,157,117,.10);
}

.chart-image-box {
    padding: clamp(16px, 2vw, 28px);
    border: 1px solid rgba(202,157,117,.18);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 50%, rgba(202,157,117,.08), transparent 52%),
        #080606;
    overflow: hidden;
}

.chart-image-box .natal-png,
.natal-png {
    display: block;
    width: min(100%, 980px);
    height: auto;
    margin: 0 auto;
    border-radius: 22px;
    box-shadow: 0 28px 70px rgba(0,0,0,.46);
}

.note,
body.vasia-module-page .note {
    color: rgba(255,252,250,.58);
    font-size: 14px;
}

body.vasia-admin-page .topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.row-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.row-actions a {
    color: var(--vasia-gold);
    font-weight: 800;
    text-decoration: none;
}

.row-actions .danger { color: #ffb4b4; }

@media (max-width: 980px) {
    body.vasia-module-page .app-shell,
    body.vasia-admin-page .app-shell {
        grid-template-columns: 1fr;
        width: min(100% - 24px, 1480px);
    }
    body.vasia-module-page .sidebar {
        position: relative;
        top: auto;
    }
    body.vasia-module-page .sidebar nav {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
}

@media (max-width: 680px) {
    .vasia-nav a {
        padding: 12px 14px;
        font-size: 11px;
    }
    body.vasia-module-page .hero h1,
    body.vasia-module-page .topbar h1 {
        font-size: 38px;
    }
    body.vasia-module-page .card,
    body.vasia-module-page .hero,
    body.vasia-module-page .sidebar {
        border-radius: 20px;
    }
}

/* ------------------------------------------------------------
   v1.0.5 polish: smaller elegant titles + stronger readability
   ------------------------------------------------------------ */
.vasia-hero-panel h1,
.hero-card h1,
.profile-card h1,
.home-hero h1,
.dating-card h1,
.form-card h2,
.vasia-section-title {
    letter-spacing: .035em;
    line-height: 1.08;
}

.vasia-hero-panel h1,
.hero-card h1 {
    max-width: 860px;
    font-size: clamp(38px, 4.6vw, 68px);
}

.home-hero h1,
.dating-card h1,
.profile-card h1 {
    font-size: clamp(34px, 4vw, 58px);
}

.form-card h2 {
    font-size: clamp(32px, 3.4vw, 48px);
}

.vasia-section-title,
body.vasia-module-page h2,
body.vasia-module-page .container h2 {
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.12;
}

body.vasia-module-page .hero h1,
body.vasia-module-page .topbar h1 {
    max-width: 920px;
    font-size: clamp(32px, 3.6vw, 56px);
    line-height: 1.12;
    letter-spacing: .025em;
}

body.vasia-module-page .hero p:not(.eyebrow),
body.vasia-module-page p,
body.vasia-module-page .note,
body.vasia-module-page li,
body.vasia-module-page td,
body.vasia-module-page .mini-card span,
body.vasia-module-page .mini-card small,
body.vasia-module-page .interp small {
    color: rgba(255,252,250,.78);
}

body.vasia-module-page strong,
body.vasia-module-page b,
body.vasia-module-page th,
body.vasia-module-page label,
label {
    color: rgba(255,252,250,.92);
}

input,
select,
textarea {
    background: rgba(255,252,250,.065);
    border-color: rgba(202,157,117,.34);
    color: #fffefa;
}

input::placeholder,
textarea::placeholder {
    color: rgba(255,252,250,.54);
}

.chart-image-box {
    background:
        radial-gradient(circle at 50% 45%, rgba(202,157,117,.11), transparent 48%),
        linear-gradient(180deg, #110c0c, #070506);
}

.chart-image-box .natal-png,
.natal-png {
    width: min(100%, 1080px);
    background: #070506;
}

.chart-helper-text {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-top: 18px;
}

.chart-helper-text .mini-card {
    color: rgba(255,252,250,.82);
}

@media (max-width: 680px) {
    .vasia-hero-panel h1,
    .hero-card h1,
    .home-hero h1,
    .dating-card h1,
    .profile-card h1,
    body.vasia-module-page .hero h1,
    body.vasia-module-page .topbar h1 {
        font-size: 34px;
    }
}

/* ------------------------------------------------------------
   v1.0.6 readable layout pass
   Smaller titles, readable Greek text, stronger cards/buttons.
   ------------------------------------------------------------ */
:root {
    --vasia-text-strong: rgba(255, 252, 250, .92);
    --vasia-text-soft: rgba(255, 252, 250, .76);
    --vasia-card-border: rgba(202, 157, 117, .24);
    --vasia-card-fill: rgba(18, 14, 15, .82);
}

body.vasia-app {
    font-family: "Mulish", "DejaVu Sans", "Segoe UI", Arial, sans-serif;
}

/* Use the elegant serif only for short display headings, not for Greek data values. */
.info-grid strong,
.match-card strong,
.match-card span,
.profile-card p,
.dating-muted,
.synastry-table,
.pill-soft,
.quick-actions a {
    font-family: "Mulish", "DejaVu Sans", "Segoe UI", Arial, sans-serif;
}

.profile-card,
.dating-card,
.home-card {
    width: min(1280px, calc(100% - 56px));
    padding: clamp(32px, 4.4vw, 64px);
}

.profile-card h1,
.dating-card h1,
.home-hero h1 {
    font-size: clamp(32px, 3.35vw, 54px);
    line-height: 1.08;
    margin-bottom: 22px;
}

.profile-card .eyebrow,
.dating-card .back-link,
body.vasia-module-page .eyebrow {
    color: var(--vasia-text-strong);
    letter-spacing: .16em;
}

.profile-card > p,
.dating-muted {
    max-width: 1050px;
    color: var(--vasia-text-strong);
    font-size: clamp(16px, 1.1vw, 18px);
}

.quick-actions {
    gap: 12px;
    margin: 34px 0 26px;
}

.quick-actions a,
button,
.button,
.vasia-btn,
.logout {
    min-height: 50px;
    padding: 14px 22px;
    color: #080607 !important;
    text-shadow: none !important;
    letter-spacing: .08em;
    opacity: 1 !important;
}

.quick-actions a::before,
button::before,
.button::before,
.vasia-btn::before,
.logout::before {
    color: #8a5d2e;
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    border: 0;
    margin-top: 8px;
}

.info-grid div {
    min-height: 138px;
    padding: 24px;
    border: 1px solid var(--vasia-card-border);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(202,157,117,.055), rgba(255,255,255,.018));
}

.info-grid span {
    display: block;
    margin-bottom: 10px;
    color: var(--vasia-text-soft);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.info-grid strong {
    margin: 0;
    color: #f3bf87;
    font-size: clamp(20px, 1.65vw, 30px);
    font-weight: 700;
    line-height: 1.24;
    letter-spacing: .02em;
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Better Dating layout: real cards instead of a table-like grid. */
.match-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
    border: 0;
    margin-top: 28px;
}

.match-card {
    position: relative;
    min-height: 210px;
    padding: 26px;
    border: 1px solid var(--vasia-card-border);
    border-radius: 22px;
    background:
        radial-gradient(circle at 92% 14%, rgba(202,157,117,.14), transparent 0 24%, transparent 42%),
        linear-gradient(180deg, rgba(20,16,16,.92), rgba(8,6,7,.92));
    box-shadow: 0 18px 56px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
}

.match-card:hover {
    background:
        radial-gradient(circle at 92% 14%, rgba(202,157,117,.22), transparent 0 26%, transparent 44%),
        linear-gradient(180deg, rgba(24,18,18,.96), rgba(10,7,8,.96));
    border-color: rgba(202,157,117,.48);
}

.match-card strong {
    color: #f4c28b;
    font-size: clamp(22px, 1.8vw, 30px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .01em;
    text-transform: none;
    overflow-wrap: anywhere;
}

.match-card .score-badge {
    width: 74px;
    height: 74px;
    margin: 16px 0;
    color: #ffe3a2;
    border-color: rgba(255,227,162,.42);
    background: rgba(202,157,117,.09);
    font-size: 26px;
}

.match-card span {
    display: block;
    color: var(--vasia-text-soft);
    font-size: 15px;
    line-height: 1.7;
}

.dating-card h2 {
    margin-top: 0;
    color: var(--vasia-gold);
    font-family: "Forum", Georgia, serif;
    font-size: clamp(28px, 2.7vw, 42px);
    font-weight: 400;
    line-height: 1.15;
}

.pill-soft {
    color: #ffe3a2;
    border-color: rgba(202,157,117,.30);
    background: rgba(202,157,117,.09);
}

.synastry-table td {
    color: var(--vasia-text-soft);
}

.synastry-table th {
    color: #ffe3a2;
}

/* Module pages: reduce hero title a little more and improve label visibility. */
body.vasia-module-page .hero h1,
body.vasia-module-page .topbar h1 {
    font-size: clamp(30px, 3.1vw, 48px);
    line-height: 1.14;
    max-width: 900px;
}

body.vasia-module-page h2,
body.vasia-module-page .container h2 {
    font-size: clamp(26px, 2.5vw, 40px);
}

body.vasia-module-page .sidebar nav a,
.vasia-nav a {
    color: rgba(255,252,250,.86);
}

body.vasia-module-page .sidebar nav a:hover,
.vasia-nav a:hover,
.vasia-nav a.active {
    color: #ffe3a2;
}

/* PNG chart visibility on dark pages. */
.chart-image-box {
    padding: clamp(14px, 1.8vw, 24px);
    border-color: rgba(202,157,117,.28);
}

.chart-image-box .natal-png,
.natal-png {
    width: min(100%, 1120px);
}

@media (max-width: 1180px) {
    .info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .profile-card,
    .dating-card,
    .home-card {
        width: min(100% - 24px, 1280px);
    }
    .profile-card h1,
    .dating-card h1,
    .home-hero h1,
    body.vasia-module-page .hero h1,
    body.vasia-module-page .topbar h1 {
        font-size: 30px;
    }
    .info-grid,
    .match-grid {
        grid-template-columns: 1fr;
    }
    .quick-actions a {
        width: 100%;
    }
}

/* ==========================================================
   v1.0.7 readability hotfix
   - κουμπιά με καθαρό σκούρο κείμενο πάνω στο χρυσό
   - date/time inputs χωρίς άσπρο κείμενο σε άσπρο background
   - πιο ασφαλές spacing κάτω από sticky header
   - SVG chart visibility
   ========================================================== */
:root {
    --vasia-button-text: #120b06;
    --vasia-input-bg: #0f0b0c;
    --vasia-input-text: #fff7ed;
    --vasia-input-border: rgba(255, 227, 162, .42);
}

body.vasia-app {
    color-scheme: dark;
}

.vasia-site-header {
    box-shadow: 0 10px 26px rgba(0,0,0,.38);
}

/* Gold buttons must always be readable. */
button,
.button,
.vasia-btn,
.logout,
.quick-actions a,
.print-btn,
.grid-form button,
.download-btn,
.actions-row a,
body.vasia-module-page .grid-form button,
body.vasia-module-page .print-btn {
    color: var(--vasia-button-text) !important;
    background: linear-gradient(135deg, #ffe48f 0%, #d99b52 100%) !important;
    border: 1px solid rgba(255, 228, 143, .78) !important;
    text-shadow: none !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--vasia-button-text) !important;
}

button *,
.button *,
.vasia-btn *,
.logout *,
.quick-actions a *,
.print-btn *,
.grid-form button *,
.download-btn * {
    color: var(--vasia-button-text) !important;
    -webkit-text-fill-color: var(--vasia-button-text) !important;
}

button::before,
.button::before,
.vasia-btn::before,
.logout::before,
.quick-actions a::before,
.print-btn::before,
.grid-form button::before,
.download-btn::before {
    color: #8b5b24 !important;
    -webkit-text-fill-color: #8b5b24 !important;
}

button:hover,
.button:hover,
.vasia-btn:hover,
.logout:hover,
.quick-actions a:hover,
.print-btn:hover,
.grid-form button:hover,
.download-btn:hover {
    color: #080506 !important;
    filter: brightness(1.07);
}

.download-btn.secondary {
    background: rgba(255, 252, 250, .07) !important;
    color: #ffe7a6 !important;
    -webkit-text-fill-color: #ffe7a6 !important;
    border-color: rgba(202,157,117,.38) !important;
}

/* Force readable forms, including browser date/time widgets. */
input,
select,
textarea,
.grid-form input,
.grid-form select,
.grid-form textarea,
body.vasia-module-page input,
body.vasia-module-page select,
body.vasia-module-page textarea {
    color: var(--vasia-input-text) !important;
    background: var(--vasia-input-bg) !important;
    border-color: var(--vasia-input-border) !important;
    -webkit-text-fill-color: var(--vasia-input-text) !important;
    caret-color: var(--vasia-input-text) !important;
    color-scheme: dark;
}

input::placeholder,
textarea::placeholder,
.grid-form input::placeholder,
body.vasia-module-page input::placeholder {
    color: rgba(255, 247, 237, .68) !important;
    -webkit-text-fill-color: rgba(255, 247, 237, .68) !important;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1) sepia(.45) saturate(1.2);
    opacity: .88;
}

input[type="date"]::-webkit-datetime-edit,
input[type="time"]::-webkit-datetime-edit,
input[type="date"]::-webkit-datetime-edit-fields-wrapper,
input[type="time"]::-webkit-datetime-edit-fields-wrapper,
input[type="date"]::-webkit-datetime-edit-text,
input[type="time"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field,
input[type="time"]::-webkit-datetime-edit-hour-field,
input[type="time"]::-webkit-datetime-edit-minute-field,
input[type="time"]::-webkit-datetime-edit-ampm-field {
    color: var(--vasia-input-text) !important;
    -webkit-text-fill-color: var(--vasia-input-text) !important;
}

/* Fix module content being visually hidden/cut by sticky header. */
body.vasia-module-page .app-shell,
body.vasia-module-page .content,
.app-shell .content {
    padding-top: clamp(28px, 4vw, 58px) !important;
}

body.vasia-module-page .hero,
body.vasia-module-page .card,
.home-card,
.profile-card,
.dating-card {
    background: linear-gradient(180deg, rgba(18,14,14,.97), rgba(8,6,7,.965)) !important;
    border-color: rgba(202,157,117,.28) !important;
}

/* Keep module titles elegant but not gigantic. */
body.vasia-module-page .hero h1,
body.vasia-module-page .topbar h1,
.vasia-hero-panel h1,
.hero-card h1,
.home-hero h1,
.profile-card h1,
.dating-card h1 {
    font-size: clamp(32px, 3.4vw, 58px) !important;
    line-height: 1.08 !important;
    max-width: 980px;
}

body.vasia-module-page .card h2,
body.vasia-module-page h2,
.home-link strong,
.match-card strong,
.info-grid strong {
    text-shadow: 0 2px 18px rgba(0,0,0,.35);
}

/* SVG chart is now the default because browser fonts render Greek reliably. */
.chart-svg-box,
.chart-image-box {
    background: #070506 !important;
    border: 1px solid rgba(202,157,117,.28) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 24px 70px rgba(0,0,0,.36) !important;
}

.natal-svg,
.natal-png {
    width: min(100%, 1120px) !important;
    background: #070506 !important;
    border: 1px solid rgba(202,157,117,.18) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 56px rgba(0,0,0,.42) !important;
}

.chart-helper-text .mini-card,
.mini-card {
    background: linear-gradient(180deg, rgba(20,16,16,.95), rgba(9,7,8,.95)) !important;
    border-color: rgba(202,157,117,.24) !important;
}

.chart-helper-text .mini-card b,
.mini-card b {
    color: #ffe7a6 !important;
}

.chart-helper-text .mini-card small,
.mini-card small,
.note {
    color: rgba(255,247,237,.76) !important;
}

@media (max-width: 980px) {
    .vasia-site-header { position: relative; }
    body.vasia-module-page .app-shell { padding-top: 0 !important; }
}

/* ==========================================================
   v1.0.8 clean SVG chart
   - chart uses a wider SVG with side panels
   - no overlapping planet labels on the wheel
   ========================================================== */
.chart-svg-box .natal-svg,
.chart-image-box .natal-svg {
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
}

.chart-image-box {
    overflow-x: auto !important;
}

body.vasia-module-page .chart-helper-text .mini-card b {
    font-size: clamp(26px, 2.3vw, 34px) !important;
    line-height: 1.12 !important;
}

/* ===== Vasia Synastries v1.0.9 ACL / Admin polish ===== */
.vasia-role-mini {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(221, 169, 114, .35);
    background: rgba(15, 12, 12, .9);
    color: #f4eadb;
    font-family: var(--vasia-font-sans, Arial, sans-serif);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.vasia-role-mini.role-admin { color: #ffe39a; border-color: rgba(255, 224, 130, .65); }
.vasia-role-mini.role-coordinator { color: #d6c2ff; border-color: rgba(186, 154, 255, .55); }
.vasia-role-mini.role-user { color: #d9d2ca; }

.acl-shell {
    width: min(1460px, calc(100% - 48px));
    margin: 120px auto 80px;
}
.acl-hero,
.acl-panel,
.acl-card {
    border: 1px solid rgba(221, 169, 114, .24);
    background: linear-gradient(135deg, rgba(18, 13, 13, .94), rgba(10, 8, 9, .92));
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(0,0,0,.38);
}
.acl-hero {
    padding: clamp(28px, 4vw, 64px);
    margin-bottom: 26px;
}
.acl-hero h1 {
    margin: 10px 0 12px;
    color: #d9aa7d;
    font-size: clamp(34px, 5vw, 72px);
    line-height: .95;
}
.acl-hero p,
.acl-panel p,
.acl-card p,
.acl-table small {
    color: rgba(244, 234, 219, .76);
}
.acl-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 26px;
}
.acl-tabs a,
.acl-btn,
.acl-row-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid rgba(221, 169, 114, .28);
    background: rgba(255,255,255,.055);
    color: #f6eadc;
    font-family: var(--vasia-font-sans, Arial, sans-serif);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
}
.acl-tabs a.active,
.acl-btn:not(.ghost) {
    background: linear-gradient(135deg, #ffe491, #c9873f);
    color: #160f0a !important;
    border-color: rgba(255, 228, 145, .7);
}
.acl-btn.ghost { background: transparent; }
.acl-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 26px;
}
.acl-card { padding: 24px; }
.acl-card span {
    display: block;
    color: #f3ddc6;
    font-family: var(--vasia-font-sans, Arial, sans-serif);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.acl-card strong {
    display: block;
    margin: 10px 0;
    color: #d9aa7d;
    font-size: clamp(36px, 4vw, 62px);
    line-height: 1;
}
.acl-panel {
    padding: clamp(22px, 3vw, 42px);
    margin-bottom: 26px;
}
.acl-panel h2 {
    margin: 0 0 22px;
    color: #d9aa7d;
    font-size: clamp(28px, 3vw, 44px);
}
.acl-permissions,
.acl-data-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.acl-permissions > div,
.acl-data-links a {
    display: block;
    border: 1px solid rgba(221, 169, 114, .20);
    border-radius: 20px;
    background: rgba(255,255,255,.035);
    padding: 20px;
    text-decoration: none;
}
.acl-permissions b,
.acl-data-links b {
    display: block;
    color: #ffd986;
    margin-bottom: 8px;
    font-size: 18px;
}
.acl-data-links span {
    color: rgba(244,234,219,.75);
}
.acl-filter,
.acl-edit-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: end;
}
.acl-edit-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.acl-filter label,
.acl-edit-form label {
    color: #f3ddc6;
    font-family: var(--vasia-font-sans, Arial, sans-serif);
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 12px;
}
.acl-filter input,
.acl-filter select,
.acl-edit-form input,
.acl-edit-form select {
    width: 100%;
    margin-top: 8px;
    min-height: 52px;
    border-radius: 14px;
    border: 1px solid rgba(221,169,114,.35);
    background: #110d0d !important;
    color: #f8efe5 !important;
    padding: 0 14px;
}
.acl-table-wrap { overflow-x: auto; }
.acl-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 980px;
}
.acl-table th,
.acl-table td {
    border-bottom: 1px solid rgba(221, 169, 114, .16);
    padding: 16px 14px;
    text-align: left;
    vertical-align: middle;
    color: #f6eadc;
}
.acl-table th {
    color: #d9aa7d;
    font-family: var(--vasia-font-sans, Arial, sans-serif);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.acl-table td b,
.acl-table td small {
    display: block;
}
.acl-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.acl-row-actions a {
    min-height: 34px;
    padding: 8px 12px;
    font-size: 11px;
}
.acl-row-actions a.danger {
    border-color: rgba(255, 97, 97, .45);
    color: #ffb5b5;
}
.acl-admin-needed {
    margin: 26px 0;
    padding: 20px;
    border-radius: 18px;
    border: 1px solid rgba(255, 228, 145, .5);
    background: rgba(255, 228, 145, .08);
}
.alert.success {
    border-color: rgba(117, 212, 154, .45);
    background: rgba(117, 212, 154, .08);
    color: #d8ffe6;
}
@media (max-width: 1100px) {
    .acl-grid,
    .acl-permissions,
    .acl-data-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .acl-filter,
    .acl-edit-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
    .acl-shell { width: min(100% - 24px, 100%); margin-top: 100px; }
    .acl-grid,
    .acl-permissions,
    .acl-data-links,
    .acl-filter,
    .acl-edit-form { grid-template-columns: 1fr; }
}

/* ==========================================================
   Vasia Synastries App Theme v1.0.15
   Global left sidebar with submenus for all modules
   ========================================================== */
body.vasia-has-left-menu .vasia-site-header {
    justify-content: space-between;
}

body.vasia-has-left-menu .vasia-site-header .vasia-nav {
    display: none !important;
}

.vasia-left-sidebar {
    position: fixed;
    z-index: 19;
    left: 24px;
    top: 104px;
    width: 292px;
    max-height: calc(100vh - 128px);
    overflow: auto;
    padding: 22px;
    border: 1px solid rgba(202,157,117,.28);
    border-radius: 26px;
    background:
        radial-gradient(circle at 18% 12%, rgba(255,231,159,.16), transparent 0 16%, transparent 38%),
        linear-gradient(180deg, rgba(20,16,16,.98), rgba(8,6,7,.98));
    box-shadow: 0 28px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(14px);
}

.vasia-left-sidebar::-webkit-scrollbar { width: 7px; }
.vasia-left-sidebar::-webkit-scrollbar-thumb { background: rgba(202,157,117,.38); border-radius: 999px; }

.vasia-side-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(202,157,117,.18);
}

.vasia-side-moon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #080607;
    background: radial-gradient(circle at 30% 25%, #fff5c5, #f6d278 62%, #b98345 100%);
    font-size: 25px;
    box-shadow: 0 16px 34px rgba(202,157,117,.22);
}

.vasia-side-brand strong {
    display: block;
    color: var(--vasia-white);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.vasia-side-brand small {
    display: block;
    margin-top: 6px;
    color: rgba(255,252,250,.58);
    font-size: 12px;
    font-weight: 800;
}

.vasia-side-nav,
.vasia-side-group {
    display: grid;
    gap: 10px;
}

.vasia-side-nav > a,
.vasia-side-group summary,
.vasia-side-group a,
.vasia-side-logout {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(202,157,117,.16);
    border-radius: 15px;
    color: rgba(255,252,250,.78);
    background: rgba(255,255,255,.04);
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .10em;
    line-height: 1.25;
    text-transform: uppercase;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.vasia-side-nav > a::before,
.vasia-side-group summary::before,
.vasia-side-group a::before,
.vasia-side-logout::before {
    content: "✦";
    color: var(--vasia-gold);
    font-size: 12px;
    flex: 0 0 auto;
}

.vasia-side-group {
    margin: 0;
}

.vasia-side-group summary {
    cursor: pointer;
    list-style: none;
    justify-content: flex-start;
}

.vasia-side-group summary::-webkit-details-marker { display: none; }
.vasia-side-group summary::after {
    content: "⌄";
    margin-left: auto;
    color: rgba(255,252,250,.56);
    font-size: 15px;
    transition: transform .2s ease;
}
.vasia-side-group[open] summary::after { transform: rotate(180deg); }

.vasia-side-group a {
    min-height: 40px;
    margin-left: 16px;
    padding: 10px 12px;
    border-radius: 13px;
    color: rgba(255,252,250,.66);
    background: rgba(0,0,0,.16);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: none;
}

.vasia-side-nav > a:hover,
.vasia-side-group summary:hover,
.vasia-side-group a:hover,
.vasia-side-logout:hover,
.vasia-side-nav > a.active,
.vasia-side-group.active > summary,
.vasia-side-group a.active {
    color: #080607;
    border-color: rgba(255,222,143,.72);
    background: linear-gradient(135deg, #ffe28a, #c8904c);
    transform: translateX(3px);
}

.vasia-side-logout {
    margin-top: 18px;
    justify-content: center;
    color: #080607;
    background: linear-gradient(135deg, #ffe28a, #c8904c);
}

/* Σπρώχνουμε όλα τα κύρια sections δεξιά, ώστε το αριστερό μενού να υπάρχει σε κάθε module χωρίς να τα σκεπάζει. */
body.vasia-has-left-menu .home-card,
body.vasia-has-left-menu .dating-card,
body.vasia-has-left-menu .profile-card,
body.vasia-has-left-menu .acl-shell,
body.vasia-has-left-menu .auth-shell,
body.vasia-has-left-menu .vasia-hero-grid,
body.vasia-has-left-menu.vasia-module-page .app-shell,
body.vasia-has-left-menu.vasia-admin-page .app-shell {
    width: min(1220px, calc(100% - 380px)) !important;
    margin-left: 340px !important;
    margin-right: auto !important;
}

body.vasia-has-left-menu.vasia-module-page .app-shell,
body.vasia-has-left-menu.vasia-admin-page .app-shell {
    grid-template-columns: minmax(0, 1fr) !important;
}

/* Τα παλιά per-module sidebars κρύβονται. Τα submenu μεταφέρθηκαν στο νέο global αριστερό menu. */
body.vasia-has-left-menu.vasia-module-page .app-shell > .sidebar,
body.vasia-has-left-menu.vasia-admin-page .app-shell > .sidebar,
body.vasia-has-left-menu .astro-admin-shell > .sidebar {
    display: none !important;
}

body.vasia-has-left-menu .app-shell .content,
body.vasia-has-left-menu .app-shell .main {
    padding-top: 0 !important;
}

body.vasia-has-left-menu .home-hero h1,
body.vasia-has-left-menu .profile-card h1,
body.vasia-has-left-menu .dating-card h1,
body.vasia-has-left-menu.vasia-module-page h1,
body.vasia-has-left-menu.vasia-module-page .topbar h1 {
    font-size: clamp(32px, 3.1vw, 52px) !important;
}

body.vasia-has-left-menu .quick-actions a,
body.vasia-has-left-menu button,
body.vasia-has-left-menu .button,
body.vasia-has-left-menu .vasia-btn {
    color: #080607 !important;
    -webkit-text-fill-color: #080607 !important;
}

@media (max-width: 1180px) {
    .vasia-left-sidebar {
        position: relative;
        left: auto;
        top: auto;
        width: min(100% - 28px, 720px);
        max-height: none;
        margin: 18px auto 0;
    }

    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .auth-shell,
    body.vasia-has-left-menu .vasia-hero-grid,
    body.vasia-has-left-menu.vasia-module-page .app-shell,
    body.vasia-has-left-menu.vasia-admin-page .app-shell {
        width: min(100% - 28px, 980px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 720px) {
    body.vasia-has-left-menu .vasia-site-header {
        min-height: 70px;
        padding: 12px 16px;
    }
    body.vasia-has-left-menu .vasia-logo { font-size: 30px; }
    .vasia-left-sidebar { padding: 16px; border-radius: 18px; }
    .vasia-side-nav { gap: 8px; }
}

@media print {
    .vasia-left-sidebar { display: none !important; }
}

/* ==========================================================
   Vasia Synastries App Theme v1.0.16
   Real left-only navigation + readable logout
   ========================================================== */
body.vasia-has-left-menu .vasia-site-header {
    position: sticky;
    top: 0;
    z-index: 30;
    min-height: 78px;
    padding: 14px clamp(18px, 3vw, 42px);
    justify-content: space-between !important;
}

/* Το horizontal menu δεν χρησιμοποιείται πλέον. Ακόμα κι αν μείνει από cache/παλιό αρχείο, κρύβεται σκληρά. */
body.vasia-has-left-menu .vasia-site-header .vasia-nav,
body.vasia-has-left-menu header .vasia-nav,
.vasia-has-left-menu .vasia-nav {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

body.vasia-has-left-menu .vasia-header-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

body.vasia-has-left-menu .vasia-logo {
    font-size: clamp(34px, 3.2vw, 48px);
}

body.vasia-has-left-menu .vasia-left-sidebar {
    top: 98px;
    width: 300px;
    padding: 20px;
}

body.vasia-has-left-menu .vasia-side-nav {
    gap: 12px;
}

body.vasia-has-left-menu .vasia-side-group {
    padding: 12px;
    border: 1px solid rgba(202,157,117,.14);
    border-radius: 20px;
    background: rgba(255,255,255,.025);
}

body.vasia-has-left-menu .vasia-side-group summary {
    margin: 0;
}

body.vasia-has-left-menu .vasia-side-group a {
    margin-top: 9px;
    margin-left: 0;
    padding-left: 15px;
}

/* Logout: καθαρό, διαβάσιμο και ξεχωριστό από τα κύρια actions. */
body.vasia-has-left-menu .vasia-side-logout {
    min-height: 50px;
    margin-top: 18px;
    border: 1px solid rgba(255, 170, 128, .36) !important;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(76, 32, 24, .88), rgba(31, 15, 14, .96)) !important;
    color: #ffe3ce !important;
    -webkit-text-fill-color: #ffe3ce !important;
    text-shadow: none !important;
    opacity: 1 !important;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 14px 36px rgba(0,0,0,.24);
}

body.vasia-has-left-menu .vasia-side-logout::before {
    color: #ffcf8d !important;
    -webkit-text-fill-color: #ffcf8d !important;
}

body.vasia-has-left-menu .vasia-side-logout:hover {
    border-color: rgba(255, 226, 138, .78) !important;
    background: linear-gradient(135deg, #ffe28a, #c8904c) !important;
    color: #120b06 !important;
    -webkit-text-fill-color: #120b06 !important;
    transform: translateX(3px);
}

body.vasia-has-left-menu .vasia-side-logout:hover::before {
    color: #7a4a22 !important;
    -webkit-text-fill-color: #7a4a22 !important;
}

/* Εξασφαλίζουμε ότι το content ξεκινά πάντα δίπλα από το sidebar, όχι από κάτω του. */
@media (min-width: 1181px) {
    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .auth-shell,
    body.vasia-has-left-menu .vasia-hero-grid,
    body.vasia-has-left-menu.vasia-module-page .app-shell,
    body.vasia-has-left-menu.vasia-admin-page .app-shell {
        width: min(1220px, calc(100% - 390px)) !important;
        margin-left: 350px !important;
        margin-right: auto !important;
    }
}

/* v1.0.17: Birth data prefill + chart legend readability. */
.birth-prefill-note {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 226, 150, .28);
    border-radius: 16px;
    background: rgba(255, 217, 129, .07);
    color: #f2e6d8 !important;
    line-height: 1.65;
}
.chart-svg-box {
    overflow: hidden;
}
.chart-svg-box img,
.chart-svg-box .natal-svg {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* v1.0.18: Browser-side PNG export from SVG, so Greek text is rendered by the browser. */
.download-btn.chart-png-download,
button.download-btn {
    border: 0;
    cursor: pointer;
    font-family: inherit;
    min-height: 46px;
}
.download-btn.chart-png-download:disabled {
    opacity: .72;
    cursor: wait;
    filter: grayscale(.15);
}
.chart-debug-details {
    margin-top: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(202,157,117,.24);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
    color: #e9ded2;
}
.chart-debug-details summary {
    cursor: pointer;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #ffe6a8;
}
.chart-debug-details p {
    margin: 12px 0 14px;
    color: #dfd2c6;
    line-height: 1.65;
}

/* v1.0.19: PNG export feedback */
.chart-png-download.is-loading,
.download-btn.is-loading {
  opacity: .75;
  cursor: wait;
  filter: saturate(.85);
}
.chart-png-message {
  display: block;
  width: 100%;
  margin-top: 10px;
  color: #f7ddb1;
  font: 700 13px/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .01em;
}
.chart-png-message.is-error {
  color: #ffb8a8;
}

/* =========================================================
   v1.0.21: Dark table row fix
   Fixes WordPress/theme default white table rows inside modules.
   Keeps every table row readable on the dark Synastry background.
   ========================================================= */
body.vasia-module-page .table-wrap,
body.vasia-has-left-menu .table-wrap {
    background: rgba(12, 8, 8, .86) !important;
    border-color: rgba(202, 157, 117, .26) !important;
    box-shadow: 0 18px 54px rgba(0,0,0,.36);
}

body.vasia-module-page .table-wrap table,
body.vasia-has-left-menu .table-wrap table,
body.vasia-module-page table.synastry-table,
body.vasia-has-left-menu table.synastry-table {
    background: rgba(18, 12, 12, .92) !important;
    color: #f4e8dc !important;
    border-collapse: collapse !important;
}

body.vasia-module-page .table-wrap table thead tr,
body.vasia-has-left-menu .table-wrap table thead tr,
body.vasia-module-page .synastry-table thead tr,
body.vasia-has-left-menu .synastry-table thead tr {
    background: linear-gradient(180deg, rgba(202,157,117,.20), rgba(202,157,117,.10)) !important;
}

body.vasia-module-page .table-wrap table th,
body.vasia-has-left-menu .table-wrap table th,
body.vasia-module-page .synastry-table th,
body.vasia-has-left-menu .synastry-table th {
    background: transparent !important;
    color: #fff2cf !important;
    border-color: rgba(202,157,117,.20) !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.65);
}

body.vasia-module-page .table-wrap table tbody tr,
body.vasia-has-left-menu .table-wrap table tbody tr,
body.vasia-module-page .synastry-table tbody tr,
body.vasia-has-left-menu .synastry-table tbody tr {
    background: rgba(19, 14, 14, .92) !important;
    color: #efe4d9 !important;
}

body.vasia-module-page .table-wrap table tbody tr:nth-child(even),
body.vasia-has-left-menu .table-wrap table tbody tr:nth-child(even),
body.vasia-module-page .synastry-table tbody tr:nth-child(even),
body.vasia-has-left-menu .synastry-table tbody tr:nth-child(even) {
    background: rgba(34, 23, 19, .90) !important;
}

body.vasia-module-page .table-wrap table tbody tr:hover,
body.vasia-has-left-menu .table-wrap table tbody tr:hover,
body.vasia-module-page .synastry-table tbody tr:hover,
body.vasia-has-left-menu .synastry-table tbody tr:hover {
    background: rgba(202, 157, 117, .16) !important;
}

body.vasia-module-page .table-wrap table td,
body.vasia-has-left-menu .table-wrap table td,
body.vasia-module-page .synastry-table td,
body.vasia-has-left-menu .synastry-table td {
    background: transparent !important;
    color: #e8ddd2 !important;
    border-color: rgba(202,157,117,.16) !important;
}

body.vasia-module-page .table-wrap table td b,
body.vasia-has-left-menu .table-wrap table td b,
body.vasia-module-page .table-wrap table td strong,
body.vasia-has-left-menu .table-wrap table td strong,
body.vasia-module-page .synastry-table td b,
body.vasia-has-left-menu .synastry-table td b {
    color: #fff5d6 !important;
}

body.vasia-module-page .table-wrap table a,
body.vasia-has-left-menu .table-wrap table a,
body.vasia-module-page .synastry-table a,
body.vasia-has-left-menu .synastry-table a {
    color: #ffd98e !important;
}

/* =========================================================
   v1.0.22: Prediction design + readable accordions
   Smaller titles and useful empty-state for degree predictions.
   ========================================================= */
body.vasia-module-page .hero h1,
body.vasia-module-page .topbar h1 {
    font-size: clamp(30px, 3.1vw, 52px) !important;
    line-height: 1.10 !important;
    letter-spacing: .025em !important;
}
body.vasia-module-page .card h2,
body.vasia-module-page h2,
body.vasia-module-page .container h2 {
    font-size: clamp(25px, 2.25vw, 40px) !important;
    line-height: 1.12 !important;
    letter-spacing: .025em !important;
    margin-bottom: 18px !important;
}
body.vasia-module-page .card h3,
body.vasia-module-page h3 {
    font-size: clamp(20px, 1.7vw, 28px) !important;
    line-height: 1.16 !important;
}
body.vasia-module-page .card,
body.vasia-module-page .results,
body.vasia-module-page .report-card {
    padding: clamp(22px, 2.6vw, 36px) !important;
}
.vasia-section-head {
    margin-bottom: 20px;
    max-width: 920px;
}
.vasia-section-head h2 {
    margin-bottom: 10px !important;
}
.vasia-section-head p:not(.eyebrow) {
    color: rgba(255,252,250,.72) !important;
    margin: 0;
    line-height: 1.65;
}
.vasia-degree-accordion {
    display: grid;
    gap: 14px;
}
body.vasia-module-page details.vasia-degree-details {
    margin: 0 !important;
    border: 1px solid rgba(202,157,117,.24) !important;
    border-radius: 20px !important;
    background: rgba(11, 8, 9, .78) !important;
    overflow: hidden;
    box-shadow: 0 16px 42px rgba(0,0,0,.22);
}
body.vasia-module-page details.vasia-degree-details summary {
    list-style: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 17px 20px !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, rgba(32,24,22,.96), rgba(14,10,10,.98)) !important;
    color: #fff1d1 !important;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: clamp(14px, 1vw, 17px) !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    border-bottom: 1px solid rgba(202,157,117,.18);
}
body.vasia-module-page details.vasia-degree-details summary::-webkit-details-marker {
    display: none !important;
}
body.vasia-module-page details.vasia-degree-details summary::before {
    content: "▸";
    color: #f4c77f;
    transform: translateY(-1px);
    transition: transform .18s ease;
}
body.vasia-module-page details.vasia-degree-details[open] summary::before {
    transform: rotate(90deg) translateY(-1px);
}
body.vasia-module-page details.vasia-degree-details summary span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
body.vasia-module-page details.vasia-degree-details summary em {
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(244,199,127,.12);
    color: #ffd996;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}
.vasia-degree-body {
    display: grid;
    gap: 12px;
    padding: 16px;
    background: rgba(6,5,6,.54);
}
body.vasia-module-page .degree-line {
    margin: 0 !important;
    padding: 15px 16px !important;
    border: 1px solid rgba(202,157,117,.20) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
    color: rgba(255,252,250,.84) !important;
    line-height: 1.62 !important;
}
body.vasia-module-page .degree-line b {
    display: block;
    margin-bottom: 4px;
    color: #ffe5a7 !important;
    font-weight: 900;
}
body.vasia-module-page .degree-line span {
    display: block;
    margin-bottom: 8px;
    color: rgba(255,252,250,.62) !important;
    font-size: 13px;
    font-weight: 800;
}
body.vasia-module-page .degree-line p {
    margin: 0;
    color: rgba(255,252,250,.82) !important;
}
.degree-empty {
    margin: 0 !important;
    padding: 15px 16px;
    border: 1px dashed rgba(244,199,127,.30);
    border-radius: 16px;
    background: rgba(244,199,127,.055);
    color: rgba(255,252,250,.78) !important;
    font-weight: 700;
}
body.vasia-module-page .interpretation-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}
body.vasia-module-page .interp h3 {
    font-size: clamp(18px, 1.35vw, 24px) !important;
    letter-spacing: .015em !important;
    text-transform: uppercase;
}
body.vasia-module-page .text-columns {
    columns: 1 !important;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}
body.vasia-module-page .text-columns p {
    margin: 0 !important;
    background: rgba(255,255,255,.035) !important;
    color: rgba(255,252,250,.80) !important;
    border-color: rgba(202,157,117,.18) !important;
}
@media (max-width: 720px) {
    body.vasia-module-page details.vasia-degree-details summary {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
    body.vasia-module-page details.vasia-degree-details summary::before {
        position: absolute;
    }
}

/* =========================================================
   v1.0.23: Prediction readability pass
   Smaller titles, better mobile tables, and less overwhelming long sections.
   ========================================================= */
body.vasia-prediction-page .content,
body.vasia-prediction-page main.content {
    max-width: 1240px !important;
}

body.vasia-prediction-page .hero h1 {
    font-size: clamp(24px, 2.2vw, 40px) !important;
    line-height: 1.15 !important;
    letter-spacing: .018em !important;
    max-width: 980px;
}

body.vasia-prediction-page .card h2,
body.vasia-prediction-page .vasia-section-head h2,
body.vasia-prediction-page h2.vasia-long-title {
    font-size: clamp(22px, 1.65vw, 32px) !important;
    line-height: 1.16 !important;
    letter-spacing: .018em !important;
    overflow-wrap: anywhere;
}

body.vasia-prediction-page .card {
    margin-bottom: 24px !important;
}

body.vasia-prediction-page .summary-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    gap: 14px !important;
}

body.vasia-prediction-page .mini-card b {
    font-size: clamp(20px, 1.5vw, 27px) !important;
    overflow-wrap: anywhere;
}

body.vasia-prediction-page .table-wrap {
    overflow-x: auto !important;
    border-radius: 18px !important;
}

body.vasia-prediction-page table {
    font-size: 14px !important;
}

body.vasia-prediction-page .table-wrap table th,
body.vasia-prediction-page .table-wrap table td {
    padding: 13px 14px !important;
    vertical-align: top !important;
    line-height: 1.42 !important;
}

body.vasia-prediction-page .vasia-aspects-table td:last-child {
    max-width: 520px;
}

body.vasia-prediction-page .interpretation-grid {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)) !important;
    gap: 15px !important;
}

body.vasia-prediction-page .interp {
    min-height: unset !important;
}

body.vasia-prediction-page .interp h3 {
    font-size: clamp(17px, 1.1vw, 21px) !important;
    line-height: 1.18 !important;
    margin-bottom: 10px !important;
}

body.vasia-prediction-page .interp p,
body.vasia-prediction-page .text-columns p,
body.vasia-prediction-page .degree-line p {
    font-size: 14px !important;
    line-height: 1.68 !important;
}

body.vasia-prediction-page .text-columns {
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)) !important;
}

body.vasia-prediction-page details.vasia-degree-details:not([open]) .vasia-degree-body {
    display: none !important;
}

@media (max-width: 820px) {
    body.vasia-prediction-page .content,
    body.vasia-prediction-page main.content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.vasia-prediction-page .hero,
    body.vasia-prediction-page .card {
        padding: 20px !important;
        border-radius: 22px !important;
    }

    body.vasia-prediction-page .hero h1 {
        font-size: 26px !important;
    }

    body.vasia-prediction-page .card h2,
    body.vasia-prediction-page h2.vasia-long-title {
        font-size: 23px !important;
    }

    body.vasia-prediction-page .grid-form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body.vasia-prediction-page .grid-form button {
        width: 100% !important;
    }

    body.vasia-prediction-page table.vasia-stack-table,
    body.vasia-prediction-page table.vasia-stack-table thead,
    body.vasia-prediction-page table.vasia-stack-table tbody,
    body.vasia-prediction-page table.vasia-stack-table th,
    body.vasia-prediction-page table.vasia-stack-table td,
    body.vasia-prediction-page table.vasia-stack-table tr {
        display: block !important;
        width: 100% !important;
    }

    body.vasia-prediction-page table.vasia-stack-table thead {
        display: none !important;
    }

    body.vasia-prediction-page table.vasia-stack-table tr {
        margin: 0 0 12px !important;
        padding: 12px !important;
        border: 1px solid rgba(202,157,117,.22) !important;
        border-radius: 16px !important;
        background: rgba(18,13,13,.95) !important;
    }

    body.vasia-prediction-page table.vasia-stack-table td {
        display: grid !important;
        grid-template-columns: 108px 1fr !important;
        gap: 12px !important;
        padding: 8px 0 !important;
        border: 0 !important;
        color: rgba(255,252,250,.86) !important;
    }

    body.vasia-prediction-page table.vasia-stack-table td::before {
        content: attr(data-label);
        color: #ffd996;
        font-weight: 900;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: .06em;
    }

    body.vasia-prediction-page .vasia-aspects-table td:last-child {
        max-width: none;
    }
}

@media (max-width: 520px) {
    body.vasia-prediction-page .hero h1 {
        font-size: 23px !important;
    }
    body.vasia-prediction-page .card h2,
    body.vasia-prediction-page h2.vasia-long-title {
        font-size: 21px !important;
    }
    body.vasia-prediction-page table.vasia-stack-table td {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }
}

/* ==========================================================
   Vasia Synastries App Theme v1.0.24
   Admin / Astro DB layout polish
   - content no longer starts too far right
   - old Astro Admin local CSS margin-left is neutralized
   - admin tables stay inside the page with horizontal scroll
   - titles and action bars are smaller and readable
   ========================================================== */

@media (min-width: 1181px) {
    body.vasia-has-left-menu .vasia-left-sidebar {
        left: 18px !important;
        top: 88px !important;
        width: 286px !important;
        max-height: calc(100vh - 106px) !important;
    }

    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .auth-shell,
    body.vasia-has-left-menu .vasia-hero-grid,
    body.vasia-has-left-menu.vasia-module-page .app-shell,
    body.vasia-has-left-menu.vasia-admin-page .app-shell {
        width: min(1260px, calc(100vw - 340px)) !important;
        margin-left: 320px !important;
        margin-right: auto !important;
    }
}

/* The old modules/astro/assets/style.css adds .main { margin-left:280px }.
   When the new global sidebar is active, that old offset must be cancelled. */
body.vasia-has-left-menu .astro-admin-shell .main,
body.vasia-has-left-menu .astro-admin-shell .content,
body.vasia-has-left-menu.vasia-admin-page .app-shell .main,
body.vasia-has-left-menu.vasia-admin-page .app-shell .content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.vasia-has-left-menu .astro-admin-shell,
body.vasia-has-left-menu .acl-shell {
    min-width: 0 !important;
    overflow: visible !important;
}

/* Cleaner admin headers */
body.vasia-has-left-menu .acl-hero,
body.vasia-has-left-menu .astro-admin-shell .topbar {
    min-height: 0 !important;
    padding: clamp(24px, 3vw, 44px) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

body.vasia-has-left-menu .astro-admin-shell .topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
}

body.vasia-has-left-menu .acl-hero h1,
body.vasia-has-left-menu .astro-admin-shell .topbar h1,
body.vasia-has-left-menu .astro-admin-shell h1,
body.vasia-has-left-menu .astro-admin-shell h2 {
    font-size: clamp(30px, 3.2vw, 54px) !important;
    line-height: 1.05 !important;
    letter-spacing: .035em !important;
    max-width: 900px !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

body.vasia-has-left-menu .astro-admin-shell .topbar p,
body.vasia-has-left-menu .acl-hero p {
    max-width: 780px !important;
}

/* Admin tabs/buttons: compact, readable */
body.vasia-has-left-menu .acl-tabs,
body.vasia-has-left-menu .astro-admin-shell .actions,
body.vasia-has-left-menu .astro-admin-shell .form-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
}

body.vasia-has-left-menu .acl-tabs a,
body.vasia-has-left-menu .acl-btn,
body.vasia-has-left-menu .astro-admin-shell .btn,
body.vasia-has-left-menu .astro-admin-shell button,
body.vasia-has-left-menu .astro-admin-shell .row-actions a {
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    text-align: center !important;
}

/* Cards should not force the page to the right */
body.vasia-has-left-menu .acl-grid,
body.vasia-has-left-menu .acl-permissions,
body.vasia-has-left-menu .acl-data-links,
body.vasia-has-left-menu .astro-admin-shell .cards {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
}

body.vasia-has-left-menu .astro-admin-shell .card,
body.vasia-has-left-menu .acl-card,
body.vasia-has-left-menu .acl-panel {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

/* Forms fit the available width */
body.vasia-has-left-menu .acl-filter,
body.vasia-has-left-menu .acl-edit-form,
body.vasia-has-left-menu .astro-admin-shell .filters,
body.vasia-has-left-menu .astro-admin-shell .edit-form {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 14px !important;
    align-items: end !important;
}

body.vasia-has-left-menu .astro-admin-shell .edit-form label:has(textarea),
body.vasia-has-left-menu .astro-admin-shell .form-actions {
    grid-column: 1 / -1 !important;
}

body.vasia-has-left-menu .acl-filter input,
body.vasia-has-left-menu .acl-filter select,
body.vasia-has-left-menu .acl-edit-form input,
body.vasia-has-left-menu .acl-edit-form select,
body.vasia-has-left-menu .astro-admin-shell .filters input,
body.vasia-has-left-menu .astro-admin-shell .filters select,
body.vasia-has-left-menu .astro-admin-shell .edit-form input,
body.vasia-has-left-menu .astro-admin-shell .edit-form textarea,
body.vasia-has-left-menu .astro-admin-shell .edit-form select {
    min-width: 0 !important;
    width: 100% !important;
}

/* Tables: stay inside the content card and scroll horizontally if needed. */
body.vasia-has-left-menu .acl-table-wrap,
body.vasia-has-left-menu .astro-admin-shell .table-wrap,
body.vasia-has-left-menu .table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    border-radius: 20px !important;
}

body.vasia-has-left-menu .acl-table,
body.vasia-has-left-menu .astro-admin-shell table,
body.vasia-has-left-menu .table-wrap table {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto !important;
}

body.vasia-has-left-menu .acl-table th,
body.vasia-has-left-menu .acl-table td,
body.vasia-has-left-menu .astro-admin-shell table th,
body.vasia-has-left-menu .astro-admin-shell table td {
    padding: 12px 14px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    vertical-align: top !important;
}

body.vasia-has-left-menu .acl-table td,
body.vasia-has-left-menu .astro-admin-shell table td {
    max-width: 280px !important;
    overflow-wrap: anywhere !important;
}

body.vasia-has-left-menu .astro-admin-shell .row-actions,
body.vasia-has-left-menu .acl-row-actions {
    min-width: 118px !important;
    white-space: normal !important;
}

body.vasia-has-left-menu .astro-admin-shell .row-actions a,
body.vasia-has-left-menu .acl-row-actions a {
    display: inline-flex !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
}

/* Keep PDF/print button visible without pushing the title away. */
body.vasia-has-left-menu .astro-admin-shell .topbar .btn,
body.vasia-has-left-menu .acl-hero .btn,
body.vasia-has-left-menu .print-btn {
    flex: 0 0 auto !important;
    max-width: 210px !important;
}

@media (max-width: 1180px) {
    body.vasia-has-left-menu .astro-admin-shell .main,
    body.vasia-has-left-menu.vasia-admin-page .app-shell .main {
        margin-left: 0 !important;
        padding: 0 !important;
    }

    body.vasia-has-left-menu .acl-hero h1,
    body.vasia-has-left-menu .astro-admin-shell .topbar h1,
    body.vasia-has-left-menu .astro-admin-shell h1,
    body.vasia-has-left-menu .astro-admin-shell h2 {
        font-size: clamp(30px, 7vw, 46px) !important;
        max-width: 100% !important;
    }
}

@media (max-width: 760px) {
    body.vasia-has-left-menu .acl-filter,
    body.vasia-has-left-menu .acl-edit-form,
    body.vasia-has-left-menu .astro-admin-shell .filters,
    body.vasia-has-left-menu .astro-admin-shell .edit-form {
        grid-template-columns: 1fr !important;
    }

    body.vasia-has-left-menu .acl-hero,
    body.vasia-has-left-menu .astro-admin-shell .topbar,
    body.vasia-has-left-menu .acl-panel,
    body.vasia-has-left-menu .astro-admin-shell .panel {
        padding: 20px !important;
        border-radius: 20px !important;
    }
}

/* ==========================================================
   Vasia Synastries App Theme v1.0.26
   Compact top spacing + smaller titles across all menus/modules
   ========================================================== */
body.vasia-has-left-menu .vasia-site-header {
    min-height: 58px !important;
    padding: 8px clamp(16px, 2.4vw, 32px) !important;
}

body.vasia-has-left-menu .vasia-logo {
    font-size: clamp(28px, 2.35vw, 38px) !important;
    line-height: 1 !important;
}

body.vasia-has-left-menu .vasia-role-mini {
    min-height: 28px !important;
    padding: 6px 12px !important;
    font-size: 10px !important;
    letter-spacing: .08em !important;
}

/* Compact left menu */
body.vasia-has-left-menu .vasia-left-sidebar {
    border-radius: 22px !important;
    padding: 16px !important;
}
body.vasia-has-left-menu .vasia-side-brand {
    gap: 12px !important;
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
}
body.vasia-has-left-menu .vasia-side-moon {
    width: 44px !important;
    height: 44px !important;
    font-size: 21px !important;
}
body.vasia-has-left-menu .vasia-side-brand strong {
    font-size: 15px !important;
    letter-spacing: .13em !important;
}
body.vasia-has-left-menu .vasia-side-brand small {
    margin-top: 4px !important;
    font-size: 11px !important;
}
body.vasia-has-left-menu .vasia-side-nav,
body.vasia-has-left-menu .vasia-side-group {
    gap: 8px !important;
}
body.vasia-has-left-menu .vasia-side-group {
    padding: 9px !important;
    border-radius: 17px !important;
}
body.vasia-has-left-menu .vasia-side-nav > a,
body.vasia-has-left-menu .vasia-side-group summary,
body.vasia-has-left-menu .vasia-side-group a,
body.vasia-has-left-menu .vasia-side-logout {
    min-height: 40px !important;
    padding: 9px 12px !important;
    border-radius: 13px !important;
    font-size: 10.5px !important;
    letter-spacing: .09em !important;
}
body.vasia-has-left-menu .vasia-side-group a {
    min-height: 34px !important;
    margin-top: 7px !important;
    padding: 8px 10px !important;
    font-size: 10px !important;
}
body.vasia-has-left-menu .vasia-side-logout {
    margin-top: 12px !important;
}

/* Less empty space above the main cards */
body.vasia-has-left-menu .home-card,
body.vasia-has-left-menu .dating-card,
body.vasia-has-left-menu .profile-card,
body.vasia-has-left-menu .acl-shell,
body.vasia-has-left-menu .auth-shell,
body.vasia-has-left-menu .vasia-hero-grid,
body.vasia-has-left-menu.vasia-module-page .app-shell,
body.vasia-has-left-menu.vasia-admin-page .app-shell {
    margin-top: clamp(18px, 2.1vw, 32px) !important;
}

body.vasia-has-left-menu .acl-hero,
body.vasia-has-left-menu .astro-admin-shell .topbar,
body.vasia-has-left-menu.vasia-module-page .hero,
body.vasia-has-left-menu .home-card,
body.vasia-has-left-menu .profile-card,
body.vasia-has-left-menu .dating-card,
body.vasia-has-left-menu .hero-card,
body.vasia-has-left-menu .vasia-hero-panel {
    padding: clamp(20px, 2.4vw, 34px) !important;
}

/* Smaller titles everywhere, including Admin, Astro DB, Profile, Dating, Horoscope and Prediction */
body.vasia-has-left-menu .vasia-hero-panel h1,
body.vasia-has-left-menu .hero-card h1,
body.vasia-has-left-menu .home-hero h1,
body.vasia-has-left-menu .profile-card h1,
body.vasia-has-left-menu .dating-card h1,
body.vasia-has-left-menu .acl-hero h1,
body.vasia-has-left-menu .astro-admin-shell .topbar h1,
body.vasia-has-left-menu .astro-admin-shell h1,
body.vasia-has-left-menu.vasia-module-page .hero h1,
body.vasia-has-left-menu.vasia-module-page .topbar h1,
body.vasia-has-left-menu.vasia-module-page h1 {
    font-size: clamp(26px, 2.45vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: .03em !important;
    margin-bottom: 12px !important;
    max-width: 980px !important;
}

body.vasia-has-left-menu h2,
body.vasia-has-left-menu .card h2,
body.vasia-has-left-menu .acl-panel h2,
body.vasia-has-left-menu .astro-admin-shell h2,
body.vasia-has-left-menu.vasia-module-page .card h2,
body.vasia-has-left-menu.vasia-module-page h2 {
    font-size: clamp(22px, 1.85vw, 32px) !important;
    line-height: 1.12 !important;
    letter-spacing: .025em !important;
}

body.vasia-has-left-menu h3,
body.vasia-has-left-menu .card h3,
body.vasia-has-left-menu .acl-card h3,
body.vasia-has-left-menu.vasia-module-page h3 {
    font-size: clamp(17px, 1.35vw, 24px) !important;
    line-height: 1.18 !important;
}

body.vasia-has-left-menu .vasia-kicker,
body.vasia-has-left-menu .eyebrow {
    font-size: clamp(11px, .8vw, 13px) !important;
    letter-spacing: .14em !important;
}

body.vasia-has-left-menu .acl-tabs {
    margin-bottom: 18px !important;
    gap: 9px !important;
}
body.vasia-has-left-menu .acl-tabs a,
body.vasia-has-left-menu .acl-btn,
body.vasia-has-left-menu .astro-admin-shell .btn,
body.vasia-has-left-menu .astro-admin-shell button {
    min-height: 38px !important;
    padding: 9px 14px !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
}

@media (min-width: 1181px) {
    body.vasia-has-left-menu .vasia-left-sidebar {
        top: 74px !important;
        left: 16px !important;
        width: 270px !important;
        max-height: calc(100vh - 88px) !important;
    }
    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .auth-shell,
    body.vasia-has-left-menu .vasia-hero-grid,
    body.vasia-has-left-menu.vasia-module-page .app-shell,
    body.vasia-has-left-menu.vasia-admin-page .app-shell {
        width: min(1280px, calc(100vw - 315px)) !important;
        margin-left: 304px !important;
        margin-right: auto !important;
    }
}

@media (max-width: 1180px) {
    body.vasia-has-left-menu .vasia-left-sidebar {
        margin-top: 12px !important;
    }
    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .auth-shell,
    body.vasia-has-left-menu .vasia-hero-grid,
    body.vasia-has-left-menu.vasia-module-page .app-shell,
    body.vasia-has-left-menu.vasia-admin-page .app-shell {
        margin-top: 18px !important;
    }
}

@media (max-width: 720px) {
    body.vasia-has-left-menu .vasia-site-header {
        min-height: 56px !important;
        padding: 8px 14px !important;
    }
    body.vasia-has-left-menu .vasia-logo {
        font-size: 27px !important;
    }
    body.vasia-has-left-menu .vasia-hero-panel h1,
    body.vasia-has-left-menu .hero-card h1,
    body.vasia-has-left-menu .home-hero h1,
    body.vasia-has-left-menu .profile-card h1,
    body.vasia-has-left-menu .dating-card h1,
    body.vasia-has-left-menu .acl-hero h1,
    body.vasia-has-left-menu .astro-admin-shell .topbar h1,
    body.vasia-has-left-menu .astro-admin-shell h1,
    body.vasia-has-left-menu.vasia-module-page .hero h1,
    body.vasia-has-left-menu.vasia-module-page .topbar h1,
    body.vasia-has-left-menu.vasia-module-page h1 {
        font-size: clamp(24px, 8vw, 34px) !important;
    }
}

/* ==========================================================
   v1.0.26: Astro DB dropdown + table readability polish
   - Native dropdown options get explicit dark background / light text.
   - Big admin tables are paginated from PHP and displayed as cleaner cards.
   ========================================================== */
body.vasia-has-left-menu .astro-admin-shell .filters select,
body.vasia-has-left-menu .astro-admin-shell .edit-form select,
body.vasia-has-left-menu .acl-filter select,
body.vasia-has-left-menu select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    background-color: rgba(13, 8, 8, .98) !important;
    color: #fff1d7 !important;
    border-color: rgba(255, 217, 142, .45) !important;
    color-scheme: dark !important;
    text-shadow: none !important;
}

body.vasia-has-left-menu .astro-admin-shell .filters select option,
body.vasia-has-left-menu .astro-admin-shell .edit-form select option,
body.vasia-has-left-menu .acl-filter select option,
body.vasia-has-left-menu select option,
body.vasia-has-left-menu option {
    background-color: #130c0b !important;
    color: #fff1d7 !important;
    font-weight: 700 !important;
    text-shadow: none !important;
}

body.vasia-has-left-menu .astro-admin-shell .filters select option:checked,
body.vasia-has-left-menu .astro-admin-shell .edit-form select option:checked,
body.vasia-has-left-menu select option:checked {
    background-color: #f3c56f !important;
    color: #090606 !important;
}

body.vasia-has-left-menu .astro-admin-shell .filters select option:hover,
body.vasia-has-left-menu .astro-admin-shell .edit-form select option:hover,
body.vasia-has-left-menu select option:hover {
    background-color: #2a1b16 !important;
    color: #fff7df !important;
}

/* Cleaner filter box for Astro DB. */
body.vasia-has-left-menu .astro-admin-shell .astro-filter-panel {
    padding: clamp(16px, 1.8vw, 24px) !important;
    background: linear-gradient(180deg, rgba(20, 13, 12, .78), rgba(10, 7, 7, .72)) !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-filters {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 14px !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-filters label {
    min-width: 0 !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-filters .btn,
body.vasia-has-left-menu .astro-admin-shell .astro-filters button {
    width: 100% !important;
}

/* Table toolbar with result count + pagination. */
body.vasia-has-left-menu .astro-admin-shell .astro-table-toolbar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    margin-bottom: 14px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(202, 157, 117, .20) !important;
    border-radius: 16px !important;
    background: rgba(255, 226, 166, .045) !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-table-toolbar strong {
    display: block !important;
    color: #ffe0a2 !important;
    font-size: 13px !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-table-toolbar span {
    display: inline-flex !important;
    color: rgba(255, 246, 230, .74) !important;
    font-size: 12px !important;
    margin-top: 3px !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-pagination {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-pagination span,
body.vasia-has-left-menu .astro-admin-shell .astro-pagination .page-link {
    min-height: 34px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(202, 157, 117, .28) !important;
    background: rgba(13, 9, 9, .78) !important;
    color: #ffe7b2 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-pagination .page-link.disabled {
    opacity: .38 !important;
    pointer-events: none !important;
}

/* A more elegant, readable admin table. */
body.vasia-has-left-menu .astro-admin-shell .astro-table-panel {
    padding: clamp(16px, 1.8vw, 24px) !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-table-wrap {
    border-radius: 18px !important;
    border: 1px solid rgba(202, 157, 117, .30) !important;
    background: rgba(8, 5, 5, .82) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 48px rgba(0,0,0,.34) !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table {
    min-width: 920px !important;
    width: 100% !important;
    border-spacing: 0 !important;
    border-collapse: separate !important;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    padding: 12px 14px !important;
    background: linear-gradient(180deg, rgba(65, 43, 33, .98), rgba(38, 24, 19, .98)) !important;
    color: #ffe4af !important;
    font-size: 11px !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid rgba(255, 216, 160, .28) !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table td {
    padding: 13px 14px !important;
    color: #f3e8dc !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    border-bottom: 1px solid rgba(202,157,117,.13) !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table tbody tr:nth-child(odd) {
    background: rgba(14, 10, 10, .94) !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table tbody tr:nth-child(even) {
    background: rgba(37, 24, 19, .82) !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table tbody tr:hover {
    background: rgba(88, 56, 37, .60) !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table .astro-id-cell {
    width: 58px !important;
    color: #ffe0a2 !important;
    font-weight: 900 !important;
    text-align: center !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table td:nth-child(4),
body.vasia-has-left-menu .astro-admin-shell table.astro-data-table td:nth-child(5),
body.vasia-has-left-menu .astro-admin-shell table.astro-data-table td:nth-child(6) {
    white-space: nowrap !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-empty-row {
    text-align: center !important;
    padding: 28px !important;
    color: #ffe0a2 !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table .row-actions {
    min-width: 112px !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table .row-actions a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 30px !important;
    margin: 0 0 7px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 217, 142, .26) !important;
    background: rgba(255, 217, 142, .06) !important;
    color: #ffe19e !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

body.vasia-has-left-menu .astro-admin-shell table.astro-data-table .row-actions a.danger {
    border-color: rgba(255, 107, 107, .32) !important;
    color: #ffb7b7 !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-table-wrap::-webkit-scrollbar,
body.vasia-has-left-menu .astro-admin-shell .table-wrap::-webkit-scrollbar {
    height: 10px !important;
}

body.vasia-has-left-menu .astro-admin-shell .astro-table-wrap::-webkit-scrollbar-thumb,
body.vasia-has-left-menu .astro-admin-shell .table-wrap::-webkit-scrollbar-thumb {
    background: rgba(202, 157, 117, .55) !important;
    border-radius: 999px !important;
}

@media (max-width: 720px) {
    body.vasia-has-left-menu .astro-admin-shell .astro-table-toolbar {
        align-items: flex-start !important;
    }
    body.vasia-has-left-menu .astro-admin-shell .astro-pagination {
        width: 100% !important;
    }
    body.vasia-has-left-menu .astro-admin-shell .astro-pagination .page-link,
    body.vasia-has-left-menu .astro-admin-shell .astro-pagination span {
        flex: 1 1 auto !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

/* ==========================================================
   Vasia Synastries App Theme v1.0.27
   Love Map left-menu layout fix + cleaner form/table spacing
   ========================================================== */
body.vasia-has-left-menu .vasia-page {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 1 !important;
    padding-top: clamp(18px, 2.1vw, 32px) !important;
    padding-bottom: clamp(30px, 4vw, 62px) !important;
}

@media (min-width: 1181px) {
    body.vasia-has-left-menu .vasia-page {
        width: min(1280px, calc(100vw - 315px)) !important;
        margin-left: 304px !important;
        margin-right: auto !important;
    }
}

@media (max-width: 1180px) {
    body.vasia-has-left-menu .vasia-page {
        width: min(100% - 28px, 980px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

body.vasia-has-left-menu .love-map-card {
    width: 100% !important;
    max-width: none !important;
    overflow: hidden !important;
}

body.vasia-has-left-menu .love-map-card h2 {
    max-width: 920px !important;
    overflow-wrap: anywhere !important;
}

body.vasia-has-left-menu .love-map-card form.love-map-form input,
body.vasia-has-left-menu .love-map-card form.love-map-form button {
    width: 100% !important;
}

body.vasia-has-left-menu .love-map-card .result p {
    margin: 6px 0 !important;
}

/* ==========================================================
   Vasia Synastries App Theme v1.0.28
   Prediction / Birthday Map viewport + table polish
   - prevents the page from sliding horizontally and cutting the logo
   - keeps module panels inside the available screen next to left menu
   - makes horoscope tables compact/readable with internal horizontal scroll
   ========================================================== */
html,
body.vasia-app {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body.vasia-has-left-menu .vasia-site-header {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

body.vasia-has-left-menu .vasia-logo {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 180px) !important;
    overflow: hidden !important;
    text-overflow: clip !important;
}

/* Give every module a safe viewport width.  It must never become wider than the
   remaining screen after the fixed left menu. */
@media (min-width: 1181px) {
    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .auth-shell,
    body.vasia-has-left-menu .vasia-hero-grid,
    body.vasia-has-left-menu.vasia-module-page .app-shell,
    body.vasia-has-left-menu.vasia-admin-page .app-shell,
    body.vasia-has-left-menu .vasia-page {
        width: calc(100vw - 340px) !important;
        max-width: 1280px !important;
        margin-left: 320px !important;
        margin-right: 20px !important;
    }
}

body.vasia-has-left-menu.vasia-module-page .app-shell,
body.vasia-has-left-menu.vasia-admin-page .app-shell,
body.vasia-has-left-menu .content,
body.vasia-has-left-menu main.content,
body.vasia-has-left-menu .main,
body.vasia-has-left-menu .card,
body.vasia-has-left-menu .hero,
body.vasia-has-left-menu .result,
body.vasia-has-left-menu .results,
body.vasia-has-left-menu .report-card,
body.vasia-has-left-menu .vasia-panel {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.vasia-has-left-menu .content,
body.vasia-has-left-menu main.content,
body.vasia-has-left-menu .main {
    overflow: visible !important;
}

/* Horoscope forms: do not let one long row push the page outside the viewport. */
body.vasia-prediction-page form.grid-form,
body.vasia-birthdaymap-page form.grid-form {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    align-items: end !important;
}

body.vasia-prediction-page form.grid-form button,
body.vasia-birthdaymap-page form.grid-form button {
    min-width: 0 !important;
    width: 100% !important;
    white-space: normal !important;
}

body.vasia-prediction-page .birth-prefill-note,
body.vasia-birthdaymap-page .birth-prefill-note {
    padding: 12px 14px !important;
    border: 1px solid rgba(255, 225, 160, .28) !important;
    border-radius: 14px !important;
    background: rgba(255, 225, 160, .07) !important;
    color: rgba(255, 247, 232, .86) !important;
}

/* Tables: never stretch the whole page; scroll only inside the table card. */
body.vasia-prediction-page .table-wrap,
body.vasia-birthdaymap-page .table-wrap,
body.vasia-module-page .table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 18px !important;
    border: 1px solid rgba(202, 157, 117, .24) !important;
    background: rgba(8, 5, 5, .78) !important;
}

body.vasia-prediction-page .table-wrap table,
body.vasia-birthdaymap-page .table-wrap table,
body.vasia-module-page .table-wrap table {
    width: 100% !important;
    min-width: 760px !important;
    max-width: none !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: auto !important;
    font-size: 14px !important;
}

body.vasia-prediction-page .table-wrap th,
body.vasia-birthdaymap-page .table-wrap th,
body.vasia-module-page .table-wrap th {
    position: sticky !important;
    top: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, rgba(63, 42, 32, .98), rgba(34, 23, 19, .98)) !important;
    color: #ffe2a8 !important;
    font-size: 11px !important;
    white-space: nowrap !important;
}

body.vasia-prediction-page .table-wrap td,
body.vasia-birthdaymap-page .table-wrap td,
body.vasia-module-page .table-wrap td {
    color: rgba(255, 247, 232, .86) !important;
    line-height: 1.45 !important;
    vertical-align: top !important;
}

body.vasia-prediction-page .table-wrap tr:nth-child(even),
body.vasia-birthdaymap-page .table-wrap tr:nth-child(even),
body.vasia-module-page .table-wrap tr:nth-child(even) {
    background: rgba(54, 34, 26, .50) !important;
}

body.vasia-prediction-page .table-wrap tr:nth-child(odd),
body.vasia-birthdaymap-page .table-wrap tr:nth-child(odd),
body.vasia-module-page .table-wrap tr:nth-child(odd) {
    background: rgba(14, 10, 10, .72) !important;
}

body.vasia-prediction-page .table-wrap::-webkit-scrollbar,
body.vasia-birthdaymap-page .table-wrap::-webkit-scrollbar,
body.vasia-module-page .table-wrap::-webkit-scrollbar {
    height: 9px !important;
}

body.vasia-prediction-page .table-wrap::-webkit-scrollbar-thumb,
body.vasia-birthdaymap-page .table-wrap::-webkit-scrollbar-thumb,
body.vasia-module-page .table-wrap::-webkit-scrollbar-thumb {
    background: rgba(202, 157, 117, .58) !important;
    border-radius: 999px !important;
}

/* Planet tables have short values, so make them friendlier instead of huge. */
body.vasia-prediction-page .vasia-planet-table,
body.vasia-birthdaymap-page .vasia-planet-table {
    min-width: 680px !important;
}

body.vasia-prediction-page .vasia-planet-table td,
body.vasia-birthdaymap-page .vasia-planet-table td,
body.vasia-prediction-page .vasia-planet-table th,
body.vasia-birthdaymap-page .vasia-planet-table th {
    padding: 12px 14px !important;
}

/* On narrow screens turn horoscope tables into cards instead of tiny columns. */
@media (max-width: 780px) {
    body.vasia-prediction-page table.vasia-stack-table,
    body.vasia-prediction-page table.vasia-stack-table thead,
    body.vasia-prediction-page table.vasia-stack-table tbody,
    body.vasia-prediction-page table.vasia-stack-table th,
    body.vasia-prediction-page table.vasia-stack-table td,
    body.vasia-prediction-page table.vasia-stack-table tr,
    body.vasia-birthdaymap-page table.vasia-stack-table,
    body.vasia-birthdaymap-page table.vasia-stack-table thead,
    body.vasia-birthdaymap-page table.vasia-stack-table tbody,
    body.vasia-birthdaymap-page table.vasia-stack-table th,
    body.vasia-birthdaymap-page table.vasia-stack-table td,
    body.vasia-birthdaymap-page table.vasia-stack-table tr {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.vasia-prediction-page table.vasia-stack-table,
    body.vasia-birthdaymap-page table.vasia-stack-table {
        min-width: 0 !important;
    }

    body.vasia-prediction-page table.vasia-stack-table thead,
    body.vasia-birthdaymap-page table.vasia-stack-table thead {
        display: none !important;
    }

    body.vasia-prediction-page table.vasia-stack-table tr,
    body.vasia-birthdaymap-page table.vasia-stack-table tr {
        margin: 0 0 12px !important;
        padding: 12px !important;
        border: 1px solid rgba(202,157,117,.22) !important;
        border-radius: 16px !important;
        background: rgba(18,13,13,.95) !important;
    }

    body.vasia-prediction-page table.vasia-stack-table td,
    body.vasia-birthdaymap-page table.vasia-stack-table td {
        display: grid !important;
        grid-template-columns: 120px 1fr !important;
        gap: 10px !important;
        padding: 7px 0 !important;
        border: 0 !important;
    }

    body.vasia-prediction-page table.vasia-stack-table td::before,
    body.vasia-birthdaymap-page table.vasia-stack-table td::before {
        content: attr(data-label);
        color: #ffd996 !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: .06em !important;
    }
}

/* Logo/header icons should never add hidden width to the page. */
body.vasia-has-left-menu .vasia-header-actions,
body.vasia-has-left-menu .vasia-icon-btn {
    flex-shrink: 0 !important;
}

@media (max-width: 520px) {
    body.vasia-has-left-menu .vasia-logo {
        font-size: 28px !important;
        max-width: calc(100vw - 110px) !important;
    }
    body.vasia-prediction-page table.vasia-stack-table td,
    body.vasia-birthdaymap-page table.vasia-stack-table td {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   Vasia Synastries v1.0.29
   Mobile drawer menu + no horizontal overflow
   ========================================================== */
.vasia-mobile-menu-btn,
.vasia-mobile-menu-close,
.vasia-menu-overlay {
    display: none;
}

@media (max-width: 1180px) {
    html,
    body.vasia-app,
    body.vasia-has-left-menu {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    body.vasia-has-left-menu .vasia-site-header {
        min-height: 64px !important;
        padding: 10px 14px !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 900 !important;
    }

    body.vasia-has-left-menu .vasia-logo {
        max-width: calc(100vw - 115px) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: clamp(27px, 8vw, 38px) !important;
        letter-spacing: .02em !important;
        margin-left: 0 !important;
    }

    body.vasia-has-left-menu .vasia-header-actions {
        display: none !important;
    }

    .vasia-mobile-menu-btn {
        position: fixed;
        top: 12px;
        right: 12px;
        z-index: 1002;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: auto;
        min-width: 88px;
        min-height: 42px;
        padding: 10px 14px;
        border: 1px solid rgba(255, 226, 138, .72);
        border-radius: 999px;
        color: #120b06 !important;
        -webkit-text-fill-color: #120b06 !important;
        background: linear-gradient(135deg, #ffe28a, #c8904c) !important;
        box-shadow: 0 16px 38px rgba(0,0,0,.34);
        font-size: 12px;
        font-weight: 950;
        letter-spacing: .09em;
        line-height: 1;
        text-transform: uppercase;
    }

    .vasia-mobile-menu-btn::before {
        content: none !important;
    }

    .vasia-mobile-menu-icon {
        display: inline-flex;
        font-size: 18px;
        line-height: 1;
        transform: translateY(-1px);
    }

    .vasia-mobile-menu-close {
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 2;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        min-width: 38px;
        min-height: 38px;
        padding: 0;
        border: 1px solid rgba(202,157,117,.38);
        border-radius: 50%;
        color: #ffe4b6 !important;
        -webkit-text-fill-color: #ffe4b6 !important;
        background: rgba(0,0,0,.28) !important;
        font-size: 24px;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1;
        text-transform: none;
    }

    .vasia-mobile-menu-close::before {
        content: none !important;
    }

    .vasia-mobile-menu-close:hover {
        color: #120b06 !important;
        -webkit-text-fill-color: #120b06 !important;
        background: linear-gradient(135deg, #ffe28a, #c8904c) !important;
        transform: none !important;
    }

    .vasia-menu-overlay {
        position: fixed;
        inset: 0;
        z-index: 998;
        display: block;
        background: rgba(0,0,0,.66);
        backdrop-filter: blur(5px);
    }

    .vasia-menu-overlay[hidden] {
        display: none !important;
    }

    body.vasia-has-left-menu .vasia-left-sidebar,
    .vasia-left-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        z-index: 999 !important;
        width: min(88vw, 360px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 20px 18px 22px !important;
        border-radius: 0 24px 24px 0 !important;
        transform: translateX(-112%) !important;
        transition: transform .24s ease, box-shadow .24s ease;
        overflow-y: auto !important;
        overscroll-behavior: contain;
    }

    body.vasia-mobile-menu-open .vasia-left-sidebar {
        transform: translateX(0) !important;
        box-shadow: 28px 0 80px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.05);
    }

    body.vasia-mobile-menu-open {
        overflow: hidden !important;
    }

    body.vasia-has-left-menu .vasia-side-brand {
        padding-right: 46px;
        margin-bottom: 16px;
    }

    body.vasia-has-left-menu .vasia-side-brand strong {
        font-size: 16px;
    }

    body.vasia-has-left-menu .vasia-side-moon {
        width: 46px;
        height: 46px;
        font-size: 22px;
    }

    body.vasia-has-left-menu .vasia-side-nav,
    body.vasia-has-left-menu .vasia-side-group {
        gap: 8px !important;
    }

    body.vasia-has-left-menu .vasia-side-group {
        padding: 10px !important;
        border-radius: 17px !important;
    }

    body.vasia-has-left-menu .vasia-side-nav > a,
    body.vasia-has-left-menu .vasia-side-group summary,
    body.vasia-has-left-menu .vasia-side-group a,
    body.vasia-has-left-menu .vasia-side-logout {
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 13px !important;
        font-size: 11px !important;
        letter-spacing: .07em !important;
    }

    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .auth-shell,
    body.vasia-has-left-menu .vasia-hero-grid,
    body.vasia-has-left-menu.vasia-module-page .app-shell,
    body.vasia-has-left-menu.vasia-admin-page .app-shell {
        width: min(100% - 24px, 980px) !important;
        max-width: calc(100vw - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: 18px !important;
    }

    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .vasia-panel,
    body.vasia-has-left-menu .form-card,
    body.vasia-has-left-menu .astro-admin-shell .topbar,
    body.vasia-has-left-menu .astro-admin-shell .filters,
    body.vasia-has-left-menu .astro-admin-shell .edit-form,
    body.vasia-has-left-menu .table-wrap {
        border-radius: 20px !important;
    }

    body.vasia-has-left-menu .home-hero,
    body.vasia-has-left-menu .grid-2,
    body.vasia-has-left-menu .acl-grid,
    body.vasia-has-left-menu .acl-permissions,
    body.vasia-has-left-menu .acl-data-links,
    body.vasia-has-left-menu .astro-admin-shell .cards,
    body.vasia-has-left-menu .astro-admin-shell .filters,
    body.vasia-has-left-menu .astro-admin-shell .edit-form {
        grid-template-columns: 1fr !important;
    }

    body.vasia-has-left-menu .home-hero h1,
    body.vasia-has-left-menu .profile-card h1,
    body.vasia-has-left-menu .dating-card h1,
    body.vasia-has-left-menu.vasia-module-page h1,
    body.vasia-has-left-menu.vasia-module-page .topbar h1,
    body.vasia-has-left-menu .acl-hero h1,
    body.vasia-has-left-menu .astro-admin-shell .topbar h1 {
        font-size: clamp(27px, 8vw, 44px) !important;
        line-height: 1.05 !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    body.vasia-has-left-menu .table-wrap,
    body.vasia-has-left-menu .synastry-table-wrap,
    body.vasia-has-left-menu .chart-box,
    body.vasia-has-left-menu .chart-frame,
    body.vasia-has-left-menu .astro-chart-container {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    body.vasia-has-left-menu table,
    body.vasia-has-left-menu .synastry-table {
        max-width: none !important;
    }
}

@media (max-width: 520px) {
    .vasia-mobile-menu-btn {
        min-width: 46px;
        width: 46px;
        height: 42px;
        padding: 0;
    }

    .vasia-mobile-menu-btn span:last-child {
        display: none;
    }

    body.vasia-has-left-menu .vasia-logo {
        max-width: calc(100vw - 78px) !important;
        font-size: clamp(23px, 9vw, 32px) !important;
    }

    body.vasia-has-left-menu .home-card,
    body.vasia-has-left-menu .dating-card,
    body.vasia-has-left-menu .profile-card,
    body.vasia-has-left-menu .acl-shell,
    body.vasia-has-left-menu .vasia-panel,
    body.vasia-has-left-menu .form-card {
        padding: 22px 16px !important;
    }

    body.vasia-has-left-menu .quick-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body.vasia-has-left-menu .quick-actions a,
    body.vasia-has-left-menu button,
    body.vasia-has-left-menu .button,
    body.vasia-has-left-menu .vasia-btn {
        width: 100%;
        min-height: 46px !important;
        padding: 12px 14px !important;
        font-size: 11px !important;
    }
}
