body {
            min-height: 100vh;
            padding-bottom: 60px;
            box-sizing: border-box;
            color: #f3f4f6;
            background-color: #09090b;
        }

        /* Fullscreen Background Styling matching Tools Hub */
        .bg-media {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            object-fit: cover;
            z-index: -2;
            opacity: 1;
        }

        .bg-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: rgba(9, 9, 11, 0.45);
            z-index: -1;
            pointer-events: none;
        }

        .dashboard-container {
            position: relative;
            z-index: 10;
            max-width: 1400px;
            margin: 30px auto;
            padding: 0 25px;
            box-sizing: border-box;
        }

        .header-section {
            text-align: center;
            margin-bottom: 25px;
        }

        .web-title {
            font-size: 3rem;
            font-weight: 800;
            background: linear-gradient(180deg, #fef3c7 20%, #f59e0b 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin: 0 0 15px 0;
            filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.8));
        }

        .hub-nav-container {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-bottom: 20px;
        }

        .hub-nav-container .circle-back-btn {
            position: relative !important;
            top: auto !important;
            left: auto !important;
            border-color: #f59e0b !important;
            color: #fef3c7 !important;
            background: #18181b;
            box-shadow: 0 0 15px rgba(245, 158, 11, 0.3);
        }

        .hub-nav-container .circle-back-btn:hover {
            background: #27272a;
            border-color: #fbbf24 !important;
            box-shadow: 0 0 25px rgba(245, 158, 11, 0.6);
        }

        .stacked-arrows {
            line-height: 0.7;
            font-size: 1.1rem;
            display: inline-block;
        }

        .top-hub-controls {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 20px;
            max-width: 900px;
            margin: 0 auto 35px auto;
            position: relative;
            z-index: 200;
        }

        .add-expert-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
            width: 100%;
        }

        .circle-add-btn {
            width: 65px;
            height: 65px;
            border-radius: 50%;
            box-sizing: border-box;
            user-select: none;
            background: linear-gradient(135deg, #f59e0b, #b45309);
            color: #09090b;
            border: 2px solid #fef3c7;
            font-size: 2.2rem;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 0 20px rgba(245, 158, 11, 0.5);
            transition: all 0.25s ease;
            z-index: 101;
        }

        .circle-add-btn:hover {
            transform: scale(1.1);
            background: linear-gradient(135deg, #fbbf24, #d97706);
            box-shadow: 0 0 30px rgba(245, 158, 11, 0.8);
        }

        .experts-dropdown-list {
            display: none;
            flex-direction: row;
            flex-wrap: wrap;
            justify-content: center;
            align-items: flex-start;
            gap: 12px;
            margin-top: 15px;
            width: 100%;
            z-index: 200;
        }

        .experts-dropdown-list.active {
            display: flex;
        }

        .expert-option-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 4px;
            cursor: pointer;
            flex-shrink: 0;
        }

        .expert-option-item {
            width: 65px;
            height: 65px;
            border-radius: 50%;
            box-sizing: border-box;
            user-select: none;
            background: #18181b;
            border: 2px solid #f59e0b;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 0 15px rgba(245, 158, 11, 0.3);
            transition: all 0.2s ease;
            overflow: hidden;
            font-weight: 700;
            color: #fef3c7;
            font-size: 1.2rem;
        }

        .expert-option-wrapper:hover .expert-option-item {
            transform: scale(1.1);
            border-color: #fbbf24;
            box-shadow: 0 0 20px rgba(251, 191, 36, 0.5);
        }

        .expert-option-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .expert-option-name {
            font-size: 0.85rem;
            font-weight: 700;
            color: #fef3c7;
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
            text-transform: capitalize;
            text-align: center;
            white-space: nowrap;
        }

        #active-experts-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            margin-bottom: 30px;
        }

        /* Row Card Layout: Left Column & Right Column */
        .expert-row-card {
            background-color: rgba(18, 18, 20, 0.5);
            background-size: cover;
            background-position: center;
            background-blend-mode: overlay;
            border: 2px solid #f59e0b;
            border-radius: 14px;
            padding: 22px;
            box-shadow: 0 12px 35px rgba(0, 0, 0, 0.8);
            display: grid;
            grid-template-columns: 340px 1fr;
            gap: 20px;
            align-items: center;
            position: relative;
            overflow: hidden;
            flex: 1 1 600px;
            max-width: 670px;
        }

        @media (max-width: 1050px) {
            .expert-row-card {
                grid-template-columns: 1fr;
                max-width: 100%;
            }
        }

        .remove-expert-btn {
            position: absolute;
            top: 15px;
            right: 15px;
            background: rgba(185, 28, 28, 0.9);
            color: white;
            border: none;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            cursor: pointer;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
            transition: background 0.2s;
            z-index: 10;
        }

        .remove-expert-btn:hover {
            background: rgb(220, 38, 38);
        }

        .card-col-left {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .event-card-header {
            display: flex;
            align-items: center;
            gap: 12px;
            background: rgba(24, 24, 27, 0.92);
            backdrop-filter: blur(8px);
            padding: 12px;
            border-radius: 10px;
            border: 1px solid #d97706;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
        }

        .event-main-photo {
            width: 52px;
            height: 52px;
            object-fit: cover;
            border-radius: 8px;
            border: 2px solid #f59e0b;
            flex-shrink: 0;
        }

        .event-title-info h2 {
            margin: 0 0 3px 0;
            font-size: 1.1rem;
            color: #fbbf24;
        }

        .event-title-info p {
            margin: 0;
            font-size: 0.8rem;
            color: #d1d5db;
            line-height: 1.3;
        }

        .mode-selector-tabs {
            display: flex;
            gap: 8px;
            justify-content: center;
        }

        .mode-tab-btn {
            flex: 1;
            background: #18181b;
            border: 2px solid #d97706;
            color: #fef3c7;
            padding: 8px 10px;
            border-radius: 8px;
            font-weight: 700;
            font-size: 0.82rem;
            cursor: pointer;
            transition: all 0.2s ease;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
            text-align: center;
            white-space: nowrap;
        }

        .mode-tab-btn:hover {
            background: #27272a;
            border-color: #fbbf24;
            transform: translateY(-1px);
        }

        .mode-tab-btn.active {
            background: linear-gradient(135deg, #f59e0b, #d97706);
            color: #09090b;
            border-color: #fbbf24;
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4);
        }

        .input-mode-pane {
            background: rgba(24, 24, 27, 0.92);
            backdrop-filter: blur(8px);
            border: 1px solid #d97706;
            border-radius: 10px;
            padding: 10px 14px;
            display: flex;
            flex-direction: column;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
            width: 100%;
            box-sizing: border-box;
        }

        .input-mode-pane input[type="number"] {
            width: 100%;
            padding: 8px 12px;
            background: #09090b;
            border: 2px solid #d97706;
            border-radius: 8px;
            font-size: 1.1rem;
            font-weight: 700;
            color: #fef3c7;
            box-sizing: border-box;
            outline: none;
            transition: all 0.2s ease;
            box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.6);
        }

        .input-mode-pane input[type="number"]:focus {
            border-color: #fbbf24;
            box-shadow: 0 0 10px rgba(245, 158, 11, 0.4), inset 0 2px 4px rgba(0, 0, 0, 0.6);
        }

        .checkbox-container {
            background: rgba(24, 24, 27, 0.92);
            backdrop-filter: blur(8px);
            border: 1px solid #d97706;
            border-radius: 10px;
            padding: 10px 14px;
            display: flex;
            align-items: center;
            gap: 10px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
        }

        .checkbox-container input[type="checkbox"] {
            width: 18px;
            height: 18px;
            accent-color: #f59e0b;
            cursor: pointer;
        }

        .checkbox-container label {
            font-size: 0.82rem;
            font-weight: 700;
            color: #fef3c7;
            cursor: pointer;
            margin: 0;
            text-transform: none;
            letter-spacing: normal;
        }

        .card-col-right {
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .results-mode-pane {
            width: 100%;
        }

        .results-box {
            background: rgba(24, 24, 27, 0.94);
            backdrop-filter: blur(8px);
            border: 1px solid #d97706;
            border-radius: 10px;
            padding: 14px 16px;
            display: flex;
            flex-direction: column;
            gap: 8px;
            font-size: 0.88rem;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
        }

        .result-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            color: #d1d5db;
            padding-bottom: 5px;
            border-bottom: 1px dashed #3f3f46;
        }

        .result-row:last-of-type {
            border-bottom: none;
            padding-bottom: 0;
        }

        .result-row span:first-child {
            font-weight: 600;
            color: #9ca3af;
        }

        .result-row span:last-child {
            font-weight: 800;
            color: #fbbf24;
            font-size: 1rem;
        }

        /* Modern Styled Plan Box: expanded naturally without scrollbar */
        .plan-box {
            background: #09090b;
            border: 1px solid #d97706;
            border-radius: 8px;
            padding: 8px 10px;
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-top: 2px;
        }

        .plan-day-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.8rem;
            padding: 4px 8px;
            background: #18181b;
            border-radius: 6px;
            border: 1px solid #3f3f46;
            gap: 15px;
            margin-top: 4px;
        }

        .plan-day-label {
            font-weight: 700;
            color: #fbbf24;
            flex-shrink: 0;
        }

        .plan-packs-container {
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        .pack-pill {
            background: #27272a;
            border: 1px solid #f59e0b;
            color: #fef3c7;
            font-weight: 700;
            font-size: 0.75rem;
            padding: 2px 8px;
            border-radius: 4px;
            cursor: help;
            transition: background 0.2s;
        }

        .pack-pill:hover {
            background: #f59e0b;
            color: #09090b;
        }

        .empty-state-msg {
            text-align: center;
            color: #fef3c7;
            font-style: italic;
            padding: 30px;
            font-size: 1.1rem;
            background: rgba(24, 24, 27, 0.9);
            border: 2px dashed #f59e0b;
            border-radius: 12px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.5);
            width: 100%;
        }

        /* =====================================================================
           EVENT CURRENCY OPTIMIZER — MODERN TOOL SUITE UI
           ===================================================================== */
        :root {
            --eco-bg: #06111b;
            --eco-panel: rgba(8, 24, 36, 0.94);
            --eco-panel-2: rgba(7, 20, 31, 0.96);
            --eco-line: #2d5068;
            --eco-line-soft: #203c50;
            --eco-text: #edf8ff;
            --eco-muted: #8fa8ba;
            --eco-gold: #f0b83f;
            --eco-gold-2: #ffe092;
            --eco-cyan: #73d9ff;
            --eco-green: #65d5a0;
            --eco-shadow: 0 22px 60px rgba(0,0,0,.42);
        }

        body {
            min-height: 100vh;
            padding-bottom: 70px;
            color: var(--eco-text);
            background: var(--eco-bg);
            overflow-x: hidden;
        }

        .bg-media {
            opacity: .34;
            filter: saturate(.78) brightness(.58);
        }

        .bg-overlay {
            background:
                radial-gradient(circle at 18% 15%, rgba(77, 168, 222, .14), transparent 28%),
                radial-gradient(circle at 82% 18%, rgba(240, 184, 63, .10), transparent 26%),
                linear-gradient(180deg, rgba(4,12,19,.48), rgba(4,11,17,.76));
        }

        .dashboard-container {
            max-width: 1540px;
            margin: 0 auto;
            padding: 74px 18px 60px;
        }

        /* ----- top navigation ----- */
        .top-center-nav {
            position: absolute;
            top: 18px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            z-index: 500;
        }

        .nav-pill {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 39px;
            padding: 8px 15px;
            border: 1px solid #45677e;
            border-radius: 999px;
            background: rgba(7, 21, 32, .90);
            color: #edf8ff;
            text-decoration: none;
            font-weight: 850;
            font-size: .78rem;
            box-shadow: 0 8px 24px rgba(0,0,0,.34);
            backdrop-filter: blur(12px);
            transition: .18s;
        }

        .nav-pill:hover {
            transform: translateY(-1px);
            border-color: var(--eco-gold);
            color: #fff5d2;
            box-shadow: 0 0 22px rgba(240,184,63,.15);
        }

        /* ----- hero ----- */
        .event-hero {
            position: relative;
            min-height: 250px;
            overflow: hidden;
            display: flex;
            align-items: flex-end;
            border: 1px solid #36556a;
            border-radius: 26px;
            box-shadow: var(--eco-shadow);
            background: #081824;
            margin-bottom: 16px;
        }

        .event-hero-bg {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: saturate(.85) brightness(.62);
        }

        .event-hero-overlay {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, rgba(4,13,21,.96) 0%, rgba(5,18,29,.86) 50%, rgba(7,17,26,.52) 100%),
                radial-gradient(circle at 78% 30%, rgba(240,184,63,.18), transparent 28%);
        }

        .event-copy {
            position: relative;
            z-index: 2;
            max-width: 760px;
            padding: 30px 34px;
            text-shadow: 0 3px 12px rgba(0,0,0,.65);
        }

        .event-kicker {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #ffd77b;
            font-size: .69rem;
            font-weight: 950;
            letter-spacing: .11em;
        }

        .event-copy h1 {
            margin: 8px 0 8px;
            font-size: clamp(2.6rem, 5vw, 4.8rem);
            line-height: .94;
            letter-spacing: -.045em;
            color: #fff;
        }

        .event-copy p {
            margin: 0;
            max-width: 690px;
            color: #d7e6ee;
            line-height: 1.52;
            font-size: .93rem;
            font-weight: 560;
        }

        .hero-badge {
            position: absolute;
            right: 32px;
            bottom: 30px;
            z-index: 3;
            min-width: 122px;
            border: 1px solid #846425;
            border-radius: 17px;
            background: rgba(27, 22, 11, .72);
            padding: 10px 14px;
            text-align: center;
            box-shadow: inset 0 0 24px rgba(240,184,63,.06);
            backdrop-filter: blur(8px);
        }

        .hero-badge span {
            display: block;
            color: #ffe29a;
            font-size: 1.5rem;
            font-weight: 950;
        }

        .hero-badge small {
            display: block;
            color: #cbb273;
            margin-top: 2px;
            font-size: .58rem;
            font-weight: 850;
            text-transform: uppercase;
            letter-spacing: .05em;
        }

        /* ----- theme toggle ----- */
        .theme-toggle {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 46px;
            padding: 10px 15px;
            border: 1px solid #496a80;
            border-radius: 999px;
            background: rgba(7,21,32,.92);
            color: #edf8ff;
            font-weight: 900;
            cursor: pointer;
            box-shadow: 0 10px 30px rgba(0,0,0,.30);
            backdrop-filter: blur(12px);
            transition: .18s;
        }

        .floating-theme-toggle {
            position: fixed;
            right: 18px;
            top: 50vh;
            transform: translateY(-50%);
            z-index: 10000;
        }

        .floating-theme-toggle:hover {
            transform: translateY(-50%) translateX(-4px);
            border-color: var(--eco-gold);
        }

        .theme-toggle-text {
            font-size: .74rem;
            white-space: nowrap;
        }

        /* ----- event picker ----- */
        .top-hub-controls {
            max-width: 100%;
            margin: 0 auto 16px;
            gap: 10px;
        }

        .add-expert-container {
            align-items: center;
        }

        .circle-add-btn.add-event-main-btn {
            width: auto;
            height: auto;
            min-width: 310px;
            min-height: 66px;
            border-radius: 18px;
            padding: 10px 20px;
            gap: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #cf9d36;
            background:
                radial-gradient(circle at 50% 0%, rgba(255,231,144,.18), transparent 48%),
                linear-gradient(135deg,#5e420b,#9d690d);
            color: #fff2c0;
            box-shadow:
                0 0 0 1px rgba(255,224,126,.08),
                0 9px 24px rgba(0,0,0,.30),
                0 0 24px rgba(240,184,63,.16);
            transition: .18s;
        }

        .circle-add-btn.add-event-main-btn:hover {
            transform: translateY(-2px) scale(1.01);
            background:
                radial-gradient(circle at 50% 0%, rgba(255,239,169,.24), transparent 48%),
                linear-gradient(135deg,#78520c,#b57910);
            box-shadow: 0 14px 28px rgba(0,0,0,.35), 0 0 32px rgba(240,184,63,.24);
        }

        .add-event-plus {
            font-size: 2rem;
            line-height: 1;
            color: #ffe395;
            font-weight: 500;
        }

        .add-event-copy {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            text-align: left;
        }

        .add-event-copy strong {
            font-size: .98rem;
            line-height: 1.05;
        }

        .add-event-copy small {
            margin-top: 4px;
            color: #e0c984;
            font-size: .64rem;
            font-weight: 700;
        }

        .experts-dropdown-list {
            width: min(100%, 1040px);
            margin-top: 11px;
            padding: 11px;
            border: 1px solid #29485d;
            border-radius: 15px;
            background: rgba(6,19,29,.94);
            box-shadow: 0 18px 40px rgba(0,0,0,.35);
            backdrop-filter: blur(12px);
        }

        .expert-option-wrapper {
            gap: 6px;
            padding: 5px;
            border-radius: 10px;
            transition: .16s;
        }

        .expert-option-wrapper:hover {
            background: rgba(111,189,230,.06);
        }

        .expert-option-item {
            width: 74px;
            height: 74px;
            border: 1px solid #41627a;
            border-radius: 15px;
            background: #0a1a26;
            box-shadow: 0 7px 18px rgba(0,0,0,.28);
        }

        .expert-option-wrapper:hover .expert-option-item {
            transform: translateY(-2px);
            border-color: #d9a93d;
            box-shadow: 0 10px 22px rgba(0,0,0,.32), 0 0 16px rgba(240,184,63,.11);
        }

        .expert-option-name {
            color: #c9dbe5;
            font-size: .70rem;
            text-shadow: none;
        }

        /* ----- active event cards ----- */
        #active-experts-container {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
            align-items: start;
            margin: 0;
        }

        .expert-row-card {
            max-width: none;
            width: 100%;
            min-width: 0;
            flex: none;
            grid-template-columns: minmax(245px,.78fr) minmax(0,1.22fr);
            gap: 14px;
            padding: 14px;
            border: 1px solid #315369;
            border-radius: 19px;
            background-color: rgba(7,19,29,.86);
            background-blend-mode: overlay;
            box-shadow: 0 16px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(176,225,255,.035);
            backdrop-filter: blur(12px);
        }

        .expert-row-card::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(120deg, rgba(7,20,30,.88), rgba(7,20,30,.72));
            z-index: 0;
        }

        .expert-row-card > * {
            position: relative;
            z-index: 1;
        }

        .remove-expert-btn {
            top: 10px;
            right: 10px;
            width: 30px;
            height: 30px;
            border: 1px solid #704653;
            border-radius: 9px;
            background: rgba(54,20,28,.92);
            color: #ffb1bd;
            box-shadow: none;
        }

        .remove-expert-btn:hover {
            background: #662634;
            color: #fff;
        }

        .card-col-left {
            gap: 9px;
        }

        .event-card-header {
            min-height: 78px;
            gap: 11px;
            padding: 10px;
            border: 1px solid #2c4a5d;
            border-radius: 13px;
            background: rgba(8,23,34,.91);
            box-shadow: none;
        }

        .event-main-photo {
            width: 58px;
            height: 58px;
            border-radius: 12px;
            border: 1px solid #7e652e;
            box-shadow: 0 5px 12px rgba(0,0,0,.32);
        }

        .event-title-info h2 {
            color: #ffe09a;
            font-size: 1.02rem;
            line-height: 1.15;
        }

        .event-title-info p {
            color: #91a8b7;
            font-size: .68rem;
            line-height: 1.45;
        }

        .mode-selector-tabs {
            gap: 6px;
        }

        .mode-tab-btn {
            min-height: 38px;
            padding: 7px 9px;
            border: 1px solid #38566a;
            border-radius: 9px;
            background: #0a1924;
            color: #9cb5c4;
            box-shadow: none;
            font-size: .70rem;
        }

        .mode-tab-btn:hover {
            transform: none;
            border-color: #70a5c2;
            background: #102432;
        }

        .mode-tab-btn.active {
            background: linear-gradient(135deg,#2e637d,#1a4155);
            color: #effaff;
            border-color: #65b7dc;
            box-shadow: 0 0 14px rgba(82,182,225,.10);
        }

        .input-mode-pane,
        .checkbox-container {
            border: 1px solid #29485b;
            border-radius: 11px;
            background: rgba(7,20,30,.92);
            box-shadow: none;
            padding: 9px 10px;
        }

        .input-mode-pane input[type="number"] {
            min-height: 42px;
            border: 1px solid #3a5e74;
            border-radius: 9px;
            background: #06131d;
            color: #eef8ff;
            font-size: 1rem;
            box-shadow: none;
        }

        .input-mode-pane input[type="number"]:focus {
            border-color: #e1aa3c;
            box-shadow: 0 0 0 3px rgba(240,184,63,.09);
        }

        .checkbox-container label {
            color: #b8ccd8;
            font-size: .69rem;
        }

        .results-box {
            min-height: 100%;
            padding: 12px;
            gap: 7px;
            border: 1px solid #29485c;
            border-radius: 13px;
            background: rgba(6,18,27,.94);
            box-shadow: none;
        }

        .result-row {
            min-height: 34px;
            padding: 5px 7px;
            border-bottom: 1px solid #1f3748;
            color: #b9ccd7;
        }

        .result-row span:first-child {
            color: #7f9aaa;
            font-size: .68rem;
            font-weight: 750;
        }

        .result-row span:last-child {
            color: #ffe092;
            font-size: .86rem;
            font-weight: 950;
        }

        .plan-box {
            margin-top: 4px;
            padding: 7px;
            gap: 5px;
            border: 1px solid #243f50;
            border-radius: 10px;
            background: #07151f;
        }

        .plan-day-row {
            padding: 6px 8px;
            border: 1px solid #203b4d;
            border-radius: 8px;
            background: #0a1a26;
            font-size: .68rem;
        }

        .plan-day-label {
            color: #9fdcf8;
            font-weight: 900;
        }

        .pack-pill {
            padding: 4px 7px;
            border: 1px solid #6c5525;
            border-radius: 999px;
            background: #211a0c;
            color: #f4d991;
            font-size: .63rem;
        }

        .pack-pill:hover {
            background: #d49b2d;
            color: #201300;
        }

        .empty-state-msg {
            grid-column: 1 / -1;
            min-height: 160px;
            display: grid;
            place-items: center;
            padding: 24px;
            border: 1px dashed #42677f;
            border-radius: 18px;
            background:
                radial-gradient(circle at 50% 45%, rgba(92,189,232,.08), transparent 34%),
                rgba(6,19,29,.76);
            color: #8fa8b8;
            font-style: normal;
            font-size: .90rem;
            box-shadow: none;
        }

        /* ----- LIGHT THEME ----- */
        body.light-theme {
            color: #173247;
            background: #eef7fb;
        }

        body.light-theme .bg-media {
            filter: saturate(.62) brightness(1.12);
            opacity: .22;
        }

        body.light-theme .bg-overlay {
            background:
                radial-gradient(circle at 18% 15%, rgba(77,168,222,.10), transparent 28%),
                radial-gradient(circle at 82% 18%, rgba(240,184,63,.08), transparent 26%),
                linear-gradient(180deg, rgba(245,251,254,.75), rgba(222,238,246,.92));
        }

        body.light-theme .nav-pill,
        body.light-theme .theme-toggle {
            background: rgba(255,255,255,.94);
            color: #173247;
            border-color: #9ebdce;
            box-shadow: 0 8px 24px rgba(49,86,107,.14);
        }

        body.light-theme .event-hero {
            border-color: #a9bdc8;
        }

        body.light-theme .event-copy,
        body.light-theme .event-copy h1 {
            color: #fff !important;
        }

        body.light-theme .event-copy p {
            color: #edf7fb !important;
        }

        body.light-theme .event-kicker {
            color: #ffe09a !important;
        }

        body.light-theme .circle-add-btn.add-event-main-btn {
            color: #fff5d2;
        }

        body.light-theme .experts-dropdown-list,
        body.light-theme .expert-row-card,
        body.light-theme .event-card-header,
        body.light-theme .input-mode-pane,
        body.light-theme .checkbox-container,
        body.light-theme .results-box,
        body.light-theme .plan-box {
            background: rgba(248,252,255,.97);
            border-color: #abc6d5;
            color: #173247;
            box-shadow: 0 12px 32px rgba(49,86,107,.12);
        }

        body.light-theme .expert-row-card::before {
            background: linear-gradient(120deg, rgba(249,253,255,.87), rgba(240,248,252,.82));
        }

        body.light-theme .expert-option-wrapper:hover {
            background: rgba(69,140,178,.07);
        }

        body.light-theme .expert-option-item {
            background: #fff;
            border-color: #aac4d3;
        }

        body.light-theme .expert-option-name {
            color: #3d5d70;
        }

        body.light-theme .event-title-info h2 {
            color: #795500;
        }

        body.light-theme .event-title-info p,
        body.light-theme .checkbox-container label {
            color: #607a8b;
        }

        body.light-theme .mode-tab-btn {
            background: #f4f9fc;
            color: #587284;
            border-color: #a7c2d2;
        }

        body.light-theme .mode-tab-btn.active {
            background: linear-gradient(135deg,#e1f3fb,#cde9f4);
            color: #145c7b;
            border-color: #70abc3;
        }

        body.light-theme .input-mode-pane input[type="number"] {
            background: #fff;
            color: #173247;
            border-color: #90afc0;
        }

        body.light-theme .result-row {
            border-bottom-color: #c8dbe5;
        }

        body.light-theme .result-row span:first-child {
            color: #5c7687;
        }

        body.light-theme .result-row span:last-child {
            color: #775300;
        }

        body.light-theme .plan-day-row {
            background: #fff;
            border-color: #c2d7e2;
        }

        body.light-theme .plan-day-label {
            color: #146486;
        }

        body.light-theme .pack-pill {
            background: #fff4d7;
            color: #735000;
            border-color: #d3ad56;
        }

        body.light-theme .empty-state-msg {
            background:
                radial-gradient(circle at 50% 45%, rgba(92,189,232,.08), transparent 34%),
                rgba(248,252,255,.88);
            border-color: #9fbdcd;
            color: #607b8d;
        }

        /* ----- responsive ----- */
        @media (max-width: 1180px) {
            #active-experts-container {
                grid-template-columns: 1fr;
            }

            .expert-row-card {
                grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr);
            }
        }

        @media (max-width: 760px) {
            .dashboard-container {
                padding: 68px 8px 50px;
            }

            .event-hero {
                min-height: 285px;
            }

            .event-copy {
                padding: 24px 18px;
            }

            .hero-badge {
                right: 16px;
                top: 16px;
                bottom: auto;
            }

            .expert-row-card {
                grid-template-columns: 1fr;
                padding: 10px;
            }

            .circle-add-btn.add-event-main-btn {
                width: min(94vw, 340px);
                min-width: 0;
            }

            .floating-theme-toggle {
                right: 10px;
                top: auto;
                bottom: 12px;
                transform: none;
            }

            .floating-theme-toggle:hover {
                transform: none;
            }

            .top-center-nav {
                top: 14px;
            }
        }


        /* =====================================================================
           EVENT CURRENCY OPTIMIZER V2 — FULL CARD REBUILD
           ===================================================================== */

        .dashboard-container {
            max-width: 1320px;
        }

        /* Hero: smaller, cleaner, no text collisions */
        .event-hero {
            min-height: 220px;
            align-items: center;
        }

        .event-copy {
            max-width: calc(100% - 190px);
            padding: 30px 32px;
        }

        .event-copy h1 {
            max-width: 760px;
            font-size: clamp(2.5rem, 4.5vw, 4.05rem);
            line-height: .98;
        }

        .event-copy p {
            max-width: 690px;
            font-size: .92rem;
        }

        .hero-badge {
            right: 26px;
            top: 26px;
            bottom: auto;
            min-width: 112px;
            padding: 9px 12px;
        }

        /* Picker is now a compact selection tray */
        .top-hub-controls {
            margin-bottom: 14px;
        }

        .circle-add-btn.add-event-main-btn {
            min-width: 330px;
            min-height: 62px;
        }

        .experts-dropdown-list.active {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 8px;
        }

        .expert-option-wrapper {
            min-width: 0;
            display: grid;
            grid-template-columns: 54px minmax(0,1fr);
            align-items: center;
            gap: 8px;
            min-height: 70px;
            padding: 7px;
            border: 1px solid #29485d;
            border-radius: 12px;
            background: #081925;
        }

        .expert-option-item {
            width: 54px;
            height: 54px;
            border-radius: 11px;
        }

        .expert-option-name {
            min-width: 0;
            text-align: left;
            white-space: normal;
            line-height: 1.2;
            font-size: .71rem;
            font-weight: 850;
        }

        .expert-option-wrapper:hover {
            border-color: #c89b3c;
            background: #102330;
        }

        /* Active event cards: ONE clean full-width card per event */
        #active-experts-container {
            display: grid;
            grid-template-columns: 1fr;
            gap: 13px;
        }

        .expert-row-card {
            display: block;
            width: 100%;
            max-width: none;
            min-height: 0;
            padding: 0;
            border-radius: 19px;
            overflow: hidden;
            border: 1px solid #315268;
            background-color: #071722;
            background-position: right center;
            background-size: 48% auto;
            background-repeat: no-repeat;
        }

        .expert-row-card::before {
            background:
                linear-gradient(90deg,
                    rgba(6,18,27,.985) 0%,
                    rgba(6,18,27,.97) 48%,
                    rgba(6,18,27,.90) 72%,
                    rgba(6,18,27,.78) 100%);
        }

        .remove-expert-btn {
            top: 13px;
            right: 13px;
            z-index: 20;
        }

        .event-card-top {
            position: relative;
            z-index: 2;
            min-height: 88px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 13px 54px 13px 15px;
            border-bottom: 1px solid #28485c;
            background: rgba(8,22,32,.76);
            backdrop-filter: blur(8px);
        }

        .event-identity {
            min-width: 0;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .event-main-photo {
            width: 62px;
            height: 62px;
            margin: 0;
            flex: 0 0 auto;
            border-radius: 13px;
        }

        .event-identity-copy {
            min-width: 0;
        }

        .event-card-kicker {
            display: block;
            color: #b89652;
            font-size: .54rem;
            font-weight: 950;
            letter-spacing: .12em;
        }

        .event-identity-copy h2 {
            margin: 3px 0 5px;
            color: #ffe19a;
            font-size: 1.16rem;
            line-height: 1.1;
        }

        .event-meta-row {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
        }

        .event-meta-row span {
            border: 1px solid #2e4a5c;
            border-radius: 999px;
            background: #091923;
            color: #8fa8b8;
            padding: 4px 7px;
            font-size: .58rem;
            font-weight: 750;
        }

        .event-card-top .mode-selector-tabs {
            width: 310px;
            flex: 0 0 310px;
        }

        .event-card-top .mode-tab-btn {
            min-height: 41px;
            font-size: .73rem;
        }

        .event-card-body {
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
            gap: 0;
        }

        .event-control-panel,
        .event-results-panel {
            min-width: 0;
            padding: 15px;
        }

        .event-control-panel {
            border-right: 1px solid #274558;
            background: rgba(5,17,26,.74);
        }

        .event-results-panel {
            background: rgba(6,18,27,.62);
        }

        .event-panel-label {
            display: flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 11px;
        }

        .event-panel-label > span {
            width: 28px;
            height: 28px;
            flex: 0 0 auto;
            display: grid;
            place-items: center;
            border: 1px solid #41647a;
            border-radius: 9px;
            background: #0c2433;
            color: #94ddfb;
            font-size: .69rem;
            font-weight: 950;
        }

        .event-panel-label strong {
            display: block;
            color: #eaf6fc;
            font-size: .78rem;
        }

        .event-panel-label small {
            display: block;
            margin-top: 2px;
            color: #7893a5;
            font-size: .57rem;
            line-height: 1.25;
        }

        .input-mode-pane {
            display: flex;
            flex-direction: column;
            gap: 6px;
            padding: 10px;
            border-radius: 11px;
        }

        .input-field-label {
            color: #8ea8b8;
            font-size: .62rem;
            font-weight: 850;
        }

        .currency-input-shell {
            min-height: 48px;
            display: flex;
            align-items: center;
            overflow: hidden;
            border: 1px solid #3a5f75;
            border-radius: 9px;
            background: #05121c;
        }

        .currency-prefix {
            height: 100%;
            min-width: 42px;
            display: grid;
            place-items: center;
            align-self: stretch;
            border-right: 1px solid #294a5d;
            color: #f2c763;
            font-weight: 950;
        }

        .currency-input-shell input[type="number"] {
            height: 46px;
            min-height: 46px;
            padding: 7px 11px;
            border: 0 !important;
            border-radius: 0;
            background: transparent;
            box-shadow: none !important;
        }

        .input-mode-pane input[type="number"] {
            -moz-appearance: textfield;
            appearance: textfield;
        }

        .input-mode-pane input[type="number"]::-webkit-inner-spin-button,
        .input-mode-pane input[type="number"]::-webkit-outer-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

        .checkbox-container {
            margin-top: 8px;
            align-items: flex-start;
            padding: 9px 10px;
        }

        .checkbox-container label {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .checkbox-container label strong {
            color: #b9ccd7;
            font-size: .66rem;
        }

        .checkbox-container label small {
            color: #6f899a;
            font-size: .56rem;
            font-weight: 600;
        }

        .event-control-hint {
            margin-top: 9px;
            color: #657f90;
            font-size: .56rem;
            line-height: 1.35;
        }

        .results-box {
            padding: 0;
            border: 0;
            background: transparent;
        }

        .result-summary-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0,1fr));
            gap: 7px;
        }

        .result-summary-grid .result-row {
            min-width: 0;
            min-height: 67px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            gap: 5px;
            padding: 9px 10px;
            border: 1px solid #284759;
            border-radius: 10px;
            background: #081823;
        }

        .result-summary-grid .result-row span {
            color: #7993a3;
            font-size: .57rem;
            font-weight: 850;
            text-transform: uppercase;
            letter-spacing: .04em;
        }

        .result-summary-grid .result-row strong {
            color: #edf8fd;
            font-size: 1rem;
            font-weight: 950;
        }

        .result-summary-grid .result-row.emphasized-cost {
            border-color: #755c28;
            background:
                radial-gradient(circle at 50% 0%,rgba(240,184,63,.07),transparent 60%),
                #13180f;
        }

        .result-summary-grid .result-row.emphasized-cost strong {
            color: #ffd978;
        }

        .plan-section-title {
            margin: 11px 0 6px;
            color: #b99a58;
            font-size: .62rem;
            font-weight: 950;
            letter-spacing: .055em;
            text-transform: uppercase;
        }

        .plan-box {
            margin: 0;
            padding: 7px;
            border-radius: 10px;
        }

        .plan-day-row {
            min-height: 37px;
            padding: 6px 8px;
        }

        .plan-day-label {
            min-width: 70px;
        }

        .milestone-summary {
            margin-top: 7px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 9px;
            padding: 8px 9px;
            border: 1px dashed #9b7024;
            border-radius: 8px;
            background: rgba(142,91,12,.16);
            color: #d7c184;
            font-size: .64rem;
        }

        .milestone-summary span {
            color: #e8b94f;
            font-weight: 900;
        }

        .milestone-summary strong {
            color: #f5e1a8;
            font-weight: 850;
        }

        .empty-state-msg {
            min-height: 130px;
            font-size: .80rem;
        }

        /* V2 Light theme */
        body.light-theme .expert-option-wrapper {
            background: #fff;
            border-color: #adc5d3;
        }

        body.light-theme .expert-option-wrapper:hover {
            background: #fff7df;
            border-color: #caa13f;
        }

        body.light-theme .expert-row-card {
            background-color: #f7fbfd;
            border-color: #a9c2d0;
        }

        body.light-theme .expert-row-card::before {
            background:
                linear-gradient(90deg,
                    rgba(249,253,255,.985) 0%,
                    rgba(245,251,254,.97) 50%,
                    rgba(240,248,252,.91) 78%,
                    rgba(239,247,251,.80) 100%);
        }

        body.light-theme .event-card-top {
            background: rgba(248,252,254,.78);
            border-bottom-color: #bed3df;
        }

        body.light-theme .event-identity-copy h2 {
            color: #715000;
        }

        body.light-theme .event-card-kicker {
            color: #896a26;
        }

        body.light-theme .event-meta-row span {
            background: #fff;
            color: #597384;
            border-color: #bed2dd;
        }

        body.light-theme .event-control-panel {
            background: rgba(247,251,253,.82);
            border-right-color: #bed3df;
        }

        body.light-theme .event-results-panel {
            background: rgba(241,248,252,.72);
        }

        body.light-theme .event-panel-label > span {
            background: #e5f4fb;
            color: #156783;
            border-color: #9fc4d6;
        }

        body.light-theme .event-panel-label strong {
            color: #173247;
        }

        body.light-theme .event-panel-label small,
        body.light-theme .input-field-label,
        body.light-theme .event-control-hint {
            color: #5f7a8b;
        }

        body.light-theme .currency-input-shell {
            background: #fff;
            border-color: #93b2c3;
        }

        body.light-theme .currency-prefix {
            border-right-color: #c0d3dd;
            color: #7a5707;
        }

        body.light-theme .checkbox-container label strong {
            color: #34586b;
        }

        body.light-theme .checkbox-container label small {
            color: #6c8493;
        }

        body.light-theme .result-summary-grid .result-row {
            background: #fff;
            border-color: #bfd3de;
        }

        body.light-theme .result-summary-grid .result-row span {
            color: #60798a;
        }

        body.light-theme .result-summary-grid .result-row strong {
            color: #173247;
        }

        body.light-theme .result-summary-grid .result-row.emphasized-cost {
            background: #fff7dc;
            border-color: #d1ad58;
        }

        body.light-theme .result-summary-grid .result-row.emphasized-cost strong {
            color: #775200;
        }

        body.light-theme .plan-section-title {
            color: #83651f;
        }

        body.light-theme .milestone-summary {
            background: #fff7dc;
            color: #6f5d2f;
            border-color: #d1aa4a;
        }

        body.light-theme .milestone-summary span {
            color: #775400;
        }

        body.light-theme .milestone-summary strong {
            color: #533d09;
        }

        @media (max-width: 980px) {
            .experts-dropdown-list.active {
                grid-template-columns: repeat(2, minmax(0,1fr));
            }

            .event-card-body {
                grid-template-columns: 1fr;
            }

            .event-control-panel {
                border-right: 0;
                border-bottom: 1px solid #274558;
            }

            body.light-theme .event-control-panel {
                border-bottom-color: #bed3df;
            }
        }

        @media (max-width: 680px) {
            .event-copy {
                max-width: 100%;
            }

            .hero-badge {
                display: none;
            }

            .experts-dropdown-list.active {
                grid-template-columns: 1fr;
            }

            .event-card-top {
                align-items: flex-start;
                flex-direction: column;
                padding-right: 48px;
            }

            .event-card-top .mode-selector-tabs {
                width: 100%;
                flex-basis: auto;
            }

            .result-summary-grid {
                grid-template-columns: 1fr;
            }
        }


        /* =====================================================================
           EVENT CURRENCY OPTIMIZER V3 — FIXED HERO / CLEAN EVENT CARDS
           ===================================================================== */

        /* Keep the page width stable when the event picker opens. */
        html { overflow-y: scroll; }

        /* Wider fixed hero, matching the static headers used in the other tools. */
        .dashboard-container {
            max-width: 1460px;
        }

        .event-hero {
            width: 100%;
            height: 248px;
            min-height: 248px;
            max-height: 248px;
            flex: 0 0 248px;
        }

        .event-copy {
            max-width: calc(100% - 170px);
            padding: 30px 38px;
        }

        .event-copy h1 {
            max-width: 880px;
            font-size: clamp(2.55rem,4.15vw,4.2rem);
        }

        .event-copy p {
            max-width: 790px;
        }

        .top-hub-controls,
        .experts-dropdown-list {
            width: 100%;
        }

        /* -------------------------------------------------------------
           Event remove button: mounted on the top-right EDGE.
           ------------------------------------------------------------- */
        .expert-row-card {
            position: relative !important;
            overflow: visible !important;
        }

        .expert-row-card::before {
            border-radius: inherit;
        }

        .remove-expert-btn {
            position: absolute !important;
            top: -12px !important;
            right: -12px !important;
            left: auto !important;
            bottom: auto !important;
            width: 35px !important;
            height: 35px !important;
            min-width: 35px !important;
            min-height: 35px !important;
            margin: 0 !important;
            padding: 0 !important;
            display: grid !important;
            place-items: center !important;
            z-index: 100 !important;
            border: 1px solid #95566a !important;
            border-radius: 50% !important;
            background: #4a1c29 !important;
            color: #ffdce3 !important;
            font-size: 1rem !important;
            line-height: 1 !important;
            box-shadow: 0 7px 18px rgba(0,0,0,.34) !important;
        }

        .remove-expert-btn:hover {
            transform: scale(1.06);
            background: #69263a !important;
            border-color: #d4788f !important;
            color: #fff !important;
        }

        /* Event header contains identity only. */
        .event-card-top {
            min-height: 88px;
            padding: 13px 48px 13px 15px;
        }

        /* Budget / Target is part of Step 1 now. */
        .goal-mode-tabs {
            width: 100%;
            margin: 0 0 9px;
            gap: 6px;
        }

        .goal-mode-tabs .mode-tab-btn {
            min-height: 42px;
            font-size: .72rem;
        }

        /* -------------------------------------------------------------
           Budget input: rebuild the $ prefix and separator cleanly.
           ------------------------------------------------------------- */
        .currency-input-shell {
            height: 52px;
            min-height: 52px;
            display: flex;
            align-items: stretch;
            padding: 0;
            overflow: hidden;
        }

        .currency-prefix {
            width: 50px;
            min-width: 50px;
            flex: 0 0 50px;
            height: 52px;
            margin: 0;
            padding: 0;
            display: grid;
            place-items: center;
            border-right: 1px solid #315268;
            color: #f2c763;
            font-size: 1.08rem;
            font-weight: 950;
            line-height: 1;
        }

        .currency-input-shell input[type="number"] {
            flex: 1 1 auto;
            width: auto;
            min-width: 0;
            height: 52px;
            min-height: 52px;
            margin: 0;
            padding: 0 14px;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            line-height: 52px;
        }

        .event-card-body {
            grid-template-columns: minmax(310px,.78fr) minmax(0,1.22fr);
        }

        /* -------------------------------------------------------------
           LIGHT THEME: one uniform icy-white event surface.
           ------------------------------------------------------------- */
        body.light-theme .expert-row-card {
            background: #f4f9fc !important;
            border-color: #9fbfce !important;
            box-shadow: 0 16px 40px rgba(43,76,96,.14);
        }

        body.light-theme .expert-row-card::before {
            background: rgba(244,249,252,.93) !important;
        }

        body.light-theme .event-card-top,
        body.light-theme .event-control-panel,
        body.light-theme .event-results-panel {
            background: rgba(244,249,252,.95) !important;
        }

        body.light-theme .event-card-top {
            border-bottom-color: #b7ceda !important;
        }

        body.light-theme .event-control-panel {
            border-right-color: #b7ceda !important;
        }

        body.light-theme .input-mode-pane,
        body.light-theme .checkbox-container,
        body.light-theme .plan-box {
            background: #ffffff !important;
            border-color: #abc6d5 !important;
            box-shadow: none !important;
        }

        body.light-theme .currency-input-shell {
            background: #fff !important;
            border-color: #91b1c2 !important;
        }

        body.light-theme .currency-prefix {
            background: #fff !important;
            color: #765200 !important;
            border-right-color: #c3d6e0 !important;
        }

        body.light-theme .currency-input-shell input[type="number"] {
            background: #fff !important;
            color: #173247 !important;
            -webkit-text-fill-color: #173247 !important;
        }

        body.light-theme .goal-mode-tabs .mode-tab-btn {
            background: #f7fbfd;
            color: #587384;
            border-color: #a8c3d2;
        }

        body.light-theme .goal-mode-tabs .mode-tab-btn.active {
            background: linear-gradient(135deg,#dff2fa,#cce8f4);
            color: #145d7b;
            border-color: #6ba8c1;
        }

        body.light-theme .result-summary-grid .result-row,
        body.light-theme .plan-day-row {
            background: #fff !important;
        }

        body.light-theme .result-summary-grid .result-row {
            border-color: #bad0dc !important;
        }

        body.light-theme .plan-day-row {
            border-color: #c0d5df !important;
        }

        body.light-theme .event-panel-label strong,
        body.light-theme .event-identity-copy h2 {
            color: #173247 !important;
        }

        body.light-theme .event-card-kicker {
            color: #88651d !important;
        }

        body.light-theme .event-meta-row span {
            background: #fff !important;
            color: #587384 !important;
            border-color: #bed3dd !important;
        }

        /* The old empty-state box is gone completely. */
        .empty-state-msg { display: none !important; }

        @media (max-width: 980px) {
            .event-card-body {
                grid-template-columns: 1fr;
            }

            body.light-theme .event-control-panel {
                border-right: 0 !important;
                border-bottom: 1px solid #b7ceda !important;
            }
        }

        @media (max-width: 700px) {
            html { overflow-y: auto; }

            .event-hero {
                height: 274px;
                min-height: 274px;
                max-height: 274px;
                flex-basis: 274px;
            }

            .event-copy {
                max-width: 100%;
                padding: 24px 18px;
            }
        }


        /* =====================================================================
           EVENT CURRENCY OPTIMIZER V4 — HERO / TYPOGRAPHY POLISH
           ===================================================================== */

        /* Keep the title on one line on desktop. */
        .event-copy h1 {
            white-space: nowrap;
            max-width: none;
            font-size: clamp(2.45rem, 3.9vw, 3.75rem);
            letter-spacing: -.04em;
        }

        .event-copy {
            max-width: calc(100% - 155px);
        }

        /* Frosty Fortune art reads better slightly right-weighted. */
        .event-hero-bg {
            object-position: 62% 48%;
        }

        /* -------------------------------------------------------------
           Slightly larger text throughout every selected-event menu.
           ------------------------------------------------------------- */
        .event-card-kicker {
            font-size: .60rem;
        }

        .event-identity-copy h2 {
            font-size: 1.27rem;
        }

        .event-meta-row span {
            font-size: .64rem;
            padding: 5px 8px;
        }

        .event-panel-label strong {
            font-size: .86rem;
        }

        .event-panel-label small {
            font-size: .63rem;
        }

        .goal-mode-tabs .mode-tab-btn {
            font-size: .79rem;
            font-weight: 850;
        }

        .input-field-label {
            font-size: .69rem;
        }

        .currency-prefix {
            font-size: 1.16rem;
        }

        .currency-input-shell input[type="number"] {
            font-size: 1.10rem;
            font-weight: 900;
        }

        .checkbox-container label strong {
            font-size: .73rem;
        }

        .checkbox-container label small {
            font-size: .62rem;
        }

        .event-control-hint {
            font-size: .62rem;
        }

        .result-summary-grid .result-row span {
            font-size: .63rem;
        }

        .result-summary-grid .result-row strong {
            font-size: 1.10rem;
        }

        .plan-section-title {
            font-size: .69rem;
        }

        .plan-day-row {
            font-size: .74rem;
        }

        .plan-day-label {
            font-size: .74rem;
        }

        .pack-pill {
            font-size: .69rem;
            padding: 5px 8px;
        }

        .milestone-summary {
            font-size: .70rem;
        }

        /* -------------------------------------------------------------
           Light theme: Purchase Schedule uses the SAME surface as its
           surrounding results panel instead of a separate white slab.
           ------------------------------------------------------------- */
        body.light-theme .event-results-panel {
            background: #f4f9fc !important;
        }

        body.light-theme .plan-section-title {
            background: transparent !important;
        }

        body.light-theme .plan-box {
            background: transparent !important;
            box-shadow: none !important;
            border-color: #b9cfdb !important;
        }

        body.light-theme .results-box {
            background: transparent !important;
            box-shadow: none !important;
        }

        /* Preserve the clean individual schedule rows. */
        body.light-theme .plan-day-row {
            background: #ffffff !important;
        }

        @media (max-width: 900px) {
            .event-copy h1 {
                font-size: clamp(2rem, 6vw, 3rem);
            }
        }

        @media (max-width: 700px) {
            /* Mobile can wrap if necessary rather than overflowing. */
            .event-copy h1 {
                white-space: normal;
            }
        }


        /* =====================================================================
           EVENT CURRENCY OPTIMIZER V5 — 1 / 2 EVENT ROW SYSTEM
           ===================================================================== */

        /* Wider overall tool footprint and a larger, fixed hero/header. */
        .dashboard-container {
            max-width: 1740px;
            padding-left: 22px;
            padding-right: 22px;
        }

        .event-hero {
            height: 286px;
            min-height: 286px;
            max-height: 286px;
            flex-basis: 286px;
            border-radius: 28px;
        }

        .event-copy {
            max-width: calc(100% - 175px);
            padding: 36px 46px;
        }

        .event-copy h1 {
            white-space: nowrap;
            font-size: clamp(3rem, 4vw, 4.65rem);
            line-height: .94;
            letter-spacing: -.045em;
        }

        .event-copy p {
            max-width: 900px;
            font-size: 1.03rem;
            line-height: 1.55;
        }

        .event-kicker {
            font-size: .78rem;
        }

        .hero-badge {
            right: 34px;
            top: 34px;
            min-width: 128px;
            padding: 11px 15px;
        }

        .hero-badge span {
            font-size: 1.7rem;
        }

        .hero-badge small {
            font-size: .63rem;
        }

        /* -------------------------------------------------------------
           Exactly two event positions per row.
           One event is centered; two events mirror around the midpoint.
           Any odd final event is centered on its own row.
           ------------------------------------------------------------- */
        #active-experts-container {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 790px)) !important;
            justify-content: center !important;
            align-items: start !important;
            column-gap: 34px !important;
            row-gap: 26px !important;
            width: 100%;
            margin: 0 auto 30px;
        }

        #active-experts-container > .expert-row-card {
            width: 100% !important;
            max-width: 790px !important;
            justify-self: stretch;
        }

        /* 1, 3, 5... final card sits exactly in the middle of its row. */
        #active-experts-container > .expert-row-card:nth-last-child(1):nth-child(odd) {
            grid-column: 1 / -1;
            width: min(790px, 100%) !important;
            justify-self: center;
        }

        /* Keep the internal two-panel card layout at desktop widths. */
        .event-card-body {
            grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
        }

        /* A stable minimum visual baseline while JS locks Budget/Target
           to the taller of the two actual views. */
        .expert-row-card {
            min-height: 490px;
        }

        @media (max-width: 1320px) {
            #active-experts-container {
                grid-template-columns: repeat(2, minmax(0, 610px)) !important;
                column-gap: 24px !important;
            }

            #active-experts-container > .expert-row-card {
                max-width: 610px !important;
            }

            #active-experts-container > .expert-row-card:nth-last-child(1):nth-child(odd) {
                width: min(610px, 100%) !important;
            }

            /* At this width, stack controls/results inside each card so
               the two-event row remains readable. */
            .event-card-body {
                grid-template-columns: 1fr;
            }

            .event-control-panel {
                border-right: 0;
                border-bottom: 1px solid #274558;
            }

            body.light-theme .event-control-panel {
                border-right: 0 !important;
                border-bottom: 1px solid #b7ceda !important;
            }
        }

        @media (max-width: 900px) {
            #active-experts-container {
                grid-template-columns: minmax(0, 1fr) !important;
                gap: 18px !important;
            }

            #active-experts-container > .expert-row-card,
            #active-experts-container > .expert-row-card:nth-last-child(1):nth-child(odd) {
                grid-column: auto;
                width: 100% !important;
                max-width: none !important;
            }

            .event-hero {
                height: 270px;
                min-height: 270px;
                max-height: 270px;
                flex-basis: 270px;
            }

            .event-copy h1 {
                font-size: clamp(2.35rem, 7vw, 3.6rem);
            }
        }

        @media (max-width: 700px) {
            .dashboard-container {
                padding-left: 8px;
                padding-right: 8px;
            }

            .event-copy {
                max-width: 100%;
                padding: 25px 19px;
            }

            .event-copy h1 {
                white-space: normal;
            }
        }
