@import url("jewel-palette.css") layer(furlong-palette);
/* FURLONG — DESIGN FOUNDATION */

:root {
    --ivory: #EAF1F5;
    --white: #FFFFFF;
    --pine: #283C36;
    --sage: #116C68;
    --clay: #7B3F83;
    --muted: #4F6775;
    --border: #BDD0DA;
    --soft-green: #DCEEEB;

    --font-heading: "Newsreader", Georgia, serif;
    --font-body: "DM Sans", Arial, sans-serif;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--ivory);
    color: var(--pine);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.5;
}

button,
input {
    font: inherit;
}

button {
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}

[hidden] {
    display: none !important;
}

:focus-visible {
    outline: 2px solid var(--sage);
    outline-offset: 3px;
}

/* LAYOUT */

.app-layout {
    display: flex;
    min-height: 100vh;
}

.sidebar {
    width: 230px;
    flex-shrink: 0;
    background: var(--white);
    border-right: 1px solid var(--border);
    padding: 34px 20px 24px;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
}

.brand {
    font-family: var(--font-heading);
    font-size: 38px;
    font-weight: 600;
    letter-spacing: -1.5px;
    line-height: 1;
    margin: 0 0 55px 14px;
}

.brand span {
    color: var(--clay);
}

.sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    color: var(--muted);
    font-weight: 600;
}

.nav-link:hover {
    background: var(--ivory);
    color: var(--pine);
}

.nav-link.active {
    background: var(--soft-green);
    color: var(--pine);
}

.nav-icon {
    font-size: 22px;
    line-height: 1;
}

.sidebar-footer {
    margin-top: auto;
    padding: 15px;
    font-size: 12px;
    color: var(--muted);
}

.main-content {
    flex: 1;
    min-width: 0;
    max-width: 1500px;
    padding: 66px clamp(24px, 5vw, 80px) 32px;
}

/* TYPOGRAPHY */

.eyebrow {
    color: var(--sage);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    margin: 0 0 13px;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    font-family: var(--font-heading);
    font-weight: 500;
}

h1 {
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.08;
    letter-spacing: -1.3px;
    margin-bottom: 14px;
}

h2 {
    font-size: 35px;
    line-height: 1.1;
    margin-bottom: 0;
}

.page-subtitle {
    color: var(--muted);
    font-size: 15px;
    margin-bottom: 0;
}

/* BUTTONS */

.primary-btn {
    background: var(--pine);
    color: var(--white);
    border: 1px solid var(--pine);
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.primary-btn:hover {
    background: var(--sage);
    border-color: var(--sage);
}

.secondary-btn {
    background: var(--white);
    color: var(--pine);
    border: 1px solid var(--border);
    padding: 12px 20px;
    border-radius: 10px;
    font-weight: 600;
}

.secondary-btn:hover {
    background: var(--ivory);
}

/* HOMEPAGE */

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    margin-bottom: 64px;
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 26px;
}

.trip-count {
    color: var(--muted);
    font-size: 12px;
    padding-bottom: 5px;
}

.trip-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.trip-card {
    display: block;
    min-width: 0;
    border: 1px solid var(--border);
    background: var(--white);
    border-radius: 15px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.trip-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(40, 60, 54, 0.08);
}

.trip-cover {
    height: 205px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: linear-gradient(
        145deg, #92A69C, #116C68 58%, #283C36
    );
    color: var(--white);
}

.trip-card:nth-child(3n + 2) .trip-cover {
    background: linear-gradient(
        145deg, #CBB6A3, #A98E78 55%, #6B796B
    );
}

.trip-card:nth-child(3n + 3) .trip-cover {
    background: linear-gradient(
        145deg, #AEBBC1, #708B8D 55%, #344F53
    );
}

.cover-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    background: rgba(0, 0, 0, 0.16);
    padding: 8px 11px;
    border-radius: 20px;
}

.cover-decoration {
    font-family: var(--font-heading);
    font-size: 46px;
    opacity: 0.5;
    line-height: 1;
}

.trip-details {
    padding: 23px 24px 24px;
}

.trip-details h3 {
    font-size: 26px;
    line-height: 1.15;
    margin-bottom: 9px;
}

.trip-destination {
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 22px;
}

.trip-destination.muted {
    font-style: italic;
}

.trip-status {
    display: inline-block;
    color: var(--sage);
    background: var(--soft-green);
    border-radius: 20px;
    padding: 5px 11px;
    font-size: 11px;
    font-weight: 700;
}

/* EMPTY STATES */

.empty-state {
    background: var(--white);
    border: 1px dashed #C8D1C9;
    border-radius: 16px;
    text-align: center;
    padding: 65px 24px;
}

.empty-symbol {
    font-size: 35px;
    color: var(--clay);
}

.empty-state h3 {
    font-size: 30px;
    margin: 12px 0;
}

.empty-state p {
    color: var(--muted);
    max-width: 360px;
    margin: 0 auto 25px;
}

/* NEW TRIP AND EDIT TRIP MODALS */

.trip-dialog {
    width: min(460px, calc(100% - 32px));
    max-width: none;
    max-height: calc(100dvh - 40px);
    padding: 30px;
    margin: auto;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--white);
    color: var(--pine);
    box-shadow: 0 24px 80px rgba(18, 35, 29, 0.16);
    overflow-y: auto;
}

.trip-dialog::backdrop {
    background: rgba(25, 39, 34, 0.46);
    backdrop-filter: blur(3px);
}

.dialog-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.dialog-heading h2 {
    font-size: 34px;
    margin-bottom: 6px;
}

.dialog-description {
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 0;
}

.close-btn {
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 28px;
    line-height: 1;
    padding: 2px 5px;
}

.close-btn:hover {
    color: var(--pine);
}

.trip-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.trip-form label {
    font-size: 12px;
    font-weight: 700;
    margin-top: 8px;
}

.trip-form input {
    width: 100%;
    padding: 13px 14px;
    border-radius: 9px;
    border: 1px solid var(--border);
    background: #F5FAFC;
    color: var(--pine);
    outline-offset: 2px;
}

.trip-form input:focus {
    outline: 2px solid var(--sage);
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}

/* BREADCRUMBS */

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--muted);
    font-size: 12px;
    margin-bottom: 25px;
}

.breadcrumbs a:hover {
    color: var(--pine);
    text-decoration: underline;
}

.breadcrumbs span[aria-current="page"] {
    color: var(--pine);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* TRIP OVERVIEW */

.overview-banner {
    height: clamp(175px, 22vw, 265px);
    width: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(
        120deg, #7D9C8A 0%, #116C68 50%, #283C36 100%
    );
}

.banner-decoration {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.banner-circle {
    position: absolute;
    top: -85px;
    right: 14%;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.10);
}

.banner-hill {
    position: absolute;
    display: block;
    width: 125%;
    height: 80%;
    border-radius: 50% 50% 0 0;
}

.banner-hill-back {
    left: -15%;
    bottom: -55%;
    background: rgba(255, 255, 255, 0.10);
    transform: rotate(-7deg);
}

.banner-hill-front {
    left: 10%;
    bottom: -66%;
    background: rgba(20, 44, 34, 0.24);
    transform: rotate(7deg);
}

.overview-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 32px 0 38px;
}

.overview-header h1 {
    margin-bottom: 12px;
}

.overview-destination {
    color: var(--sage);
    font-size: 14px;
    margin-bottom: 0;
}

.overview-destination.muted {
    color: var(--muted);
    font-style: italic;
}

.edit-trip-btn {
    flex-shrink: 0;
    margin-top: 23px;
    font-size: 13px;
    white-space: nowrap;
}

.overview-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.overview-preview {
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 25px;
}

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

.preview-heading h2 {
    font-size: 31px;
}

.preview-heading .eyebrow {
    margin-bottom: 7px;
}

.preview-heading-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--soft-green);
    color: var(--sage);
    font-size: 24px;
    line-height: 1;
}

.preview-empty {
    flex: 1;
    min-height: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    border-radius: 12px;
    background: var(--ivory);
    text-align: center;
}

.empty-icon-wrap {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--soft-green);
    color: var(--sage);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 14px;
}

.preview-empty h3 {
    font-size: 23px;
    line-height: 1.2;
    margin-bottom: 10px;
}

.preview-empty p {
    color: var(--muted);
    font-size: 13px;
    max-width: 255px;
    margin-bottom: 0;
}

.preview-footer {
    padding-top: 18px;
    color: var(--muted);
    font-size: 12px;
}

.preview-action {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--sage);
    font-weight: 700;
}

.preview-action:hover {
    color: var(--pine);
    text-decoration: underline;
}

.overview-day-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.overview-day-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.overview-day-link:hover {
    background: var(--ivory);
}

.overview-day-number {
    display: grid;
    place-items: center;
    width: 37px;
    height: 37px;
    flex-shrink: 0;
    border-radius: 9px;
    background: var(--soft-green);
    color: var(--sage);
    font-size: 12px;
    font-weight: 700;
}

.overview-day-name {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
    font-weight: 600;
}

.overview-day-count {
    color: var(--muted);
    font-size: 12px;
    margin: 16px 0 0;
}

/* ITINERARY */

.itinerary-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 35px;
}

.itinerary-header .page-subtitle {
    margin-bottom: 0;
}

.itinerary-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(240px, 3fr);
    gap: 24px;
    align-items: start;
}

.itinerary-days {
    min-width: 0;
}

.itinerary-day-strip {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    padding: 0 0 16px;
    margin-bottom: 6px;
}

.day-jump {
    flex-shrink: 0;
    padding: 9px 14px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 20px;
    color: var(--sage);
    font-size: 12px;
    font-weight: 700;
}

.day-jump:hover {
    background: var(--soft-green);
    border-color: var(--sage);
}

.itinerary-day-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 16px;
    scroll-margin-top: 18px;
}

.day-card-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 22px 24px;
    list-style: none;
    cursor: pointer;
}

.day-card-heading::-webkit-details-marker {
    display: none;
}

.day-card-heading:hover {
    background: #E5F0F8;
}

.day-heading-text .eyebrow {
    display: block;
    margin-bottom: 7px;
}

.day-heading-text h2 {
    font-size: 29px;
    margin-bottom: 0;
}

.day-date {
    display: block;
    color: var(--muted);
    font-size: 12px;
    margin-top: 6px;
}

.day-chevron {
    color: var(--sage);
    font-size: 23px;
    transition: transform 0.2s ease;
}

.itinerary-day-card[open] .day-chevron {
    transform: rotate(180deg);
}

.day-card-content {
    border-top: 1px solid var(--border);
    padding: 20px 24px 24px;
}

.day-empty-state {
    padding: 35px 20px;
    text-align: center;
    background: var(--ivory);
    border-radius: 11px;
}

.day-empty-symbol {
    color: var(--clay);
    font-size: 27px;
}

.day-empty-state h3 {
    font-size: 23px;
    margin: 10px 0 7px;
}

.day-empty-state p {
    max-width: 290px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 13px;
}

.unscheduled-panel {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 15px;
    padding: 24px;
}

.unscheduled-panel h2 {
    font-size: 28px;
    margin-bottom: 13px;
}

.unscheduled-panel > p:not(.eyebrow) {
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 22px;
}

.panel-coming-soon {
    display: inline-block;
    color: var(--sage);
    font-size: 12px;
    border-top: 1px solid var(--border);
    padding-top: 17px;
    width: 100%;
}

/* FOOTER */

.page-footer {
    margin-top: 70px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-size: 11px;
}

.page-footer a:hover {
    color: var(--pine);
    text-decoration: underline;
}

/* TABLET */

@media (max-width: 1000px) {
    .itinerary-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .sidebar {
        width: 180px;
    }

    .brand {
        font-size: 31px;
        margin-left: 8px;
    }

    .trip-grid,
    .overview-sections {
        gap: 16px;
    }

    .overview-preview {
        padding: 18px;
    }
}

/* MOBILE */

@media (max-width: 680px) {
    .app-layout {
        display: block;
    }

    .sidebar {
        width: 100%;
        height: auto;
        position: static;
        padding: 18px 20px;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .brand {
        font-size: 32px;
        margin: 0;
    }

    .sidebar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 16px;
    }

    .sidebar-footer {
        display: none;
    }

    .nav-link {
        padding: 8px 10px;
        font-size: 12px;
    }

    .nav-icon {
        font-size: 18px;
    }

    .main-content {
        padding: 35px 20px;
    }

    .page-header,
    .itinerary-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 24px;
        margin-bottom: 35px;
    }

    .page-header .primary-btn,
    .itinerary-header form,
    .itinerary-header .primary-btn {
        width: 100%;
    }

    .trip-grid,
    .overview-sections {
        grid-template-columns: 1fr;
    }

    .trip-cover {
        height: 185px;
    }

    .trip-dialog {
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        border: 0;
        border-radius: 0;
        padding: 28px 22px;
    }

    .form-actions {
        flex-wrap: wrap;
    }

    .overview-banner {
        height: 175px;
        border-radius: 14px;
    }

    .overview-header {
        flex-direction: column;
        gap: 18px;
        padding: 25px 0 32px;
    }

    .edit-trip-btn {
        margin-top: 0;
    }

    .overview-preview {
        padding: 20px;
    }

    .preview-empty {
        min-height: 180px;
    }

    .preview-heading {
        margin-bottom: 18px;
    }

    .day-card-heading {
        padding: 18px;
    }

    .day-card-content {
        padding: 15px;
    }

    .unscheduled-panel {
        padding: 20px;
    }
}


/* Saved Options: separate alternatives from booked itinerary choices */
.options-page {max-width: 1350px;}
.options-heading {display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:38px;}
.options-total {background:var(--white);border:1px solid var(--border);border-radius:14px;padding:19px 23px;min-width:230px;display:flex;flex-direction:column;gap:5px;}
.options-total span,.options-total small {color:var(--muted);font-size:12px;}
.options-total strong {font-family:var(--font-heading);font-size:30px;font-weight:500;}
.option-add {background:var(--white);border:1px solid var(--border);border-radius:16px;padding:25px;margin-bottom:45px;}
.option-add h2 {font-size:27px;margin-bottom:20px;}
.option-form {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.option-form label {display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:12px;color:var(--pine);}
.option-form input,.option-form select {border:1px solid var(--border);border-radius:9px;background:var(--white);padding:11px;color:var(--pine);width:100%;font:inherit;}
.option-form .wide {grid-column:span 2;}
.option-form button {align-self:end;}
.option-city {margin:0 0 36px;}
.option-city-heading {display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 19px;}
.option-city-heading h2 {font-size:31px;}
.option-city-heading span {color:var(--muted);font-size:12px;}
.option-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:17px;}
.option-card {min-width:0;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:22px;gap:12px;}
.option-card.is-preferred {border:2px solid var(--sage);padding:21px;background:var(--soft-green);}
.option-topline {display:flex;justify-content:space-between;gap:8px;align-items:center;}
.option-category {text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1px;}
.preferred-chip {border-radius:999px;background:var(--sage);color:white;padding:4px 11px;font-size:11px;font-weight:700;}
.option-card h3 {font-size:24px;margin:0;}
.option-price {font-family:var(--font-heading);font-size:26px;margin:0;}
.option-price small {font-family:var(--font-body);color:var(--muted);font-size:11px;}
.option-price.missing {color:var(--muted);font-size:17px;}
.option-notes {color:var(--muted);font-size:13px;margin:0;white-space:pre-wrap;}
.option-link {color:var(--sage);font-size:12px;font-weight:700;overflow-wrap:anywhere;}
.option-link:hover {text-decoration:underline;}
.option-actions {display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:15px;border-top:1px solid var(--border);}
.option-actions .secondary-btn {font-size:12px;padding:8px 11px;}
.option-current {color:var(--sage);font-size:12px;font-weight:600;}
.option-remove {border:0;background:none;color:var(--muted);font-size:12px;padding:8px;}
.option-remove:hover {color:#9a403a;}
.option-empty {background:var(--white);border:1px dashed var(--border);border-radius:14px;padding:40px;}
.option-empty h2 {font-size:29px;margin-bottom:9px;}
.option-empty p {color:var(--muted);font-size:13px;}
@media(max-width:850px){.option-form{grid-template-columns:repeat(2,minmax(0,1fr));}.options-heading{flex-direction:column;}.options-total{width:100%;}}
@media(max-width:550px){.option-form{grid-template-columns:1fr;}.option-form .wide{grid-column:auto;}.option-add{padding:17px;}.option-grid{grid-template-columns:1fr;}}

.scenario-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 14px}.scenario-active{background:var(--pine)!important;color:white!important}
.scenario-new{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.scenario-new input,.choice-row select,.option-edit input,.option-edit textarea,.option-edit select{min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:white;font:inherit;color:var(--pine)}
.workspace-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:30px}
.workspace-metrics>div{background:white;border:1px solid var(--border);border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:8px}
.workspace-metrics span,.choice-row small{font-size:12px;color:var(--muted)}
.workspace-metrics strong{font-size:25px;font-family:var(--font-heading);font-weight:500}
.timeline-list{display:grid;gap:10px;margin:16px 0}.timeline-list>div{border-left:3px solid var(--sage);background:white;padding:13px;border-radius:5px}
.workspace-warning{color:#86511f;background:#fff1dc;padding:10px 14px;border-radius:7px;margin:8px 0;font-size:13px}
.workspace-choices{display:grid;gap:11px;margin:19px 0}.choice-row{background:white;border:1px solid var(--border);border-radius:10px;padding:13px;display:grid;grid-template-columns:minmax(100px,1fr) minmax(180px,3fr) auto;gap:12px;align-items:center}
.choice-row>div{display:flex;flex-direction:column;gap:3px}
.option-edit{padding:10px 0;border-top:1px solid var(--border)}.option-edit summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--sage)}
.option-edit-fields{display:grid;gap:8px;margin-top:12px}.option-edit-fields label{display:flex;flex-direction:column;font-size:12px;gap:4px}.option-edit textarea{resize:vertical}
@media(max-width:850px){.workspace-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.workspace-metrics{grid-template-columns:1fr}.choice-row{grid-template-columns:1fr}.choice-row button{width:100%}}

/* Keep the workspace disclaimer separate from the bottom action. */
.workspace-footer {display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:32px;padding:22px 0 45px;border-top:1px solid var(--border);}
.workspace-footer .page-subtitle {max-width:720px;margin:0;line-height:1.65;}
.workspace-footer .primary-btn {display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%;white-space:normal;}
@media(max-width:550px){.workspace-footer .primary-btn{width:100%;}}

/* Europe planning visual pass: lively, restrained Furlong palette. */
.workspace-revamp {--accent-light:#EDE3F5;--sea:#dfeee9;}
.workspace-hero {background:linear-gradient(112deg,#263e38 2%,#47776b 70%,#77988c);border-radius:19px;padding:31px 38px;margin:0 0 22px;color:#fff;position:relative;overflow:hidden;}
.workspace-hero:after{content:"✦";font-size:180px;line-height:1;position:absolute;right:18px;top:-26px;color:rgba(255,255,255,.10);pointer-events:none}
.workspace-hero .eyebrow{color:#C8E9EA}.workspace-hero h1{color:#fff;margin-bottom:9px}.workspace-hero .page-subtitle{color:#e1ebe5;max-width:670px}
.workspace-revamp .scenario-tabs .secondary-btn{border-color:#b2c9bd;background:#eff5ef;color:#2b5147}
.workspace-revamp .scenario-tabs .scenario-active{background:#174F81!important;border-color:#174F81;color:#fff!important;box-shadow:0 4px 12px rgba(125,57,34,.19)}
.workspace-revamp .workspace-metrics>div{border-top:4px solid #5b8c79;box-shadow:0 5px 18px rgba(35,60,50,.035)}
.workspace-revamp .workspace-metrics>div:nth-child(2){border-top-color:#654A99}
.workspace-revamp .workspace-metrics>div:nth-child(3){border-top-color:#2459A3;background:#E5EDF9}
.workspace-revamp .workspace-metrics>div:nth-child(4){border-top-color:#89a9a0;background:#eff7f3}
.workspace-revamp .option-add{background:#F5FAFC;border:1px solid #BDD0DA}
.workspace-revamp .option-add h2{color:#396052}
.workspace-revamp .workspace-timeline{background:#e8f1e9;border-radius:16px;padding:24px}
.workspace-revamp .workspace-timeline h2{margin-bottom:12px}
.workspace-revamp .timeline-list>div{border-left-color:#174F81;box-shadow:0 2px 12px rgba(39,60,50,.035)}
.workspace-revamp .workspace-picker{background:#fff;border:1px solid #e5e8dc;border-radius:16px;padding:23px}
.workspace-revamp .choice-row{background:#fafbf7;border-color:#dee5d9}
.workspace-revamp .choice-row strong{color:#305f51}
.workspace-revamp .choice-row select{border-color:#acc6b7;background:#fff;min-height:44px}
.workspace-revamp .choice-row:focus-within{box-shadow:0 0 0 2px #c2dccb}
.workspace-revamp .choice-row .secondary-btn{background:#e4eee7;border-color:#b7cec0;color:#2c594b}
.workspace-revamp .choice-row .secondary-btn:hover{background:#d1e4d6}
@media(max-width:550px){.workspace-hero{padding:24px 21px}.workspace-revamp .workspace-picker,.workspace-revamp .workspace-timeline{padding:17px}}


/* Furlong Field Guide workspace */
.atlas-page{max-width:1380px;padding-top:35px}
.atlas-hero{background:#253c36;color:#fff;position:relative;border-radius:7px 7px 32px 7px;padding:26px 38px 0;overflow:hidden;box-shadow:0 16px 34px rgba(28,59,50,.13)}
.atlas-overline{letter-spacing:2px;font-size:10px;color:#D7EBF4;font-weight:700;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:15px}
.atlas-overline span{color:#9DE2D6;padding:0 9px}
.atlas-hero-grid{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:30px 0 20px}
.atlas-kicker{font-family:var(--font-heading);font-size:21px;font-style:italic;color:#B6E7E6;margin-bottom:10px}
.atlas-hero h1{font-size:clamp(43px,5vw,70px);color:#fff;margin-bottom:15px}
.atlas-hero-grid p:last-child{color:#cde0d5;margin-bottom:0}
.atlas-stamp{border:2px dashed #9DE2D6;min-width:128px;height:128px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(9deg);color:#D7EBF4}
.atlas-stamp span{font-size:23px}.atlas-stamp strong{font-family:var(--font-heading);font-size:28px}.atlas-stamp small{font-size:8px;letter-spacing:1px}
.atlas-wave{color:#9eb6a9;opacity:.65;font-size:23px;letter-spacing:11px;white-space:nowrap;line-height:1.5}
.atlas-route-bar{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:26px 0;flex-wrap:wrap}.atlas-route-bar small{font-weight:700;letter-spacing:1.5px;color:#5c796a;font-size:10px}
.atlas-route-bar .scenario-tabs{margin:9px 0 0}.atlas-route-bar .scenario-new{margin:0}
.atlas-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 25px}
.atlas-metrics>div{background:#fff;border:1px solid #e2e1d7;border-bottom:4px solid #81a596;padding:19px 17px;border-radius:9px}
.atlas-metrics>div:nth-child(2){border-bottom-color:#d4af7b}.atlas-metrics>div:nth-child(3){background:#f9ede4;border-bottom-color:#cc8061}.atlas-metrics>div:nth-child(4){background:#e5f0e9;border-bottom-color:#4e8472}
.atlas-metrics .over-budget{background:#fff0e9!important;border-bottom-color:#b75043!important}
.atlas-metrics span{display:block;font-size:10px;letter-spacing:1px;color:#63766d;font-weight:700;margin-bottom:7px}.atlas-metrics strong{font-family:var(--font-heading);font-size:clamp(25px,2.5vw,37px);font-weight:500}
.atlas-jump{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:34px}.atlas-jump a{border:1px solid #d8dfd6;background:#fff;border-radius:99px;padding:8px 15px;color:#436656;font-size:12px;font-weight:700}.atlas-jump a:hover{background:#e8eee6}
.atlas-section{scroll-margin-top:20px;margin:0 0 28px;border:1px solid #e5e4db;background:#fff;border-radius:17px;padding:28px;position:relative}
.atlas-section-head{display:flex;gap:20px;align-items:start;margin-bottom:23px;padding-bottom:19px;border-bottom:1px solid #e9e5df}.atlas-number{font-family:var(--font-heading);font-style:italic;font-size:40px;color:#be7f62;line-height:1}
.atlas-section-head>div:nth-child(2){flex:1}.atlas-section-head .eyebrow{margin-bottom:4px}.atlas-section-head h2{font-size:35px;margin-bottom:5px}.atlas-section-head p:not(.eyebrow){color:#657c71;font-size:13px;margin:0}.atlas-mark{font-size:43px;color:#c9a37c}
.atlas-flights{background:#edf4f6;border-color:#cadce5}.atlas-flights .atlas-mark{color:#6b9cae}.atlas-flights .atlas-number{color:#7097a7}
.atlas-excursions{background:#fbf1e6;border-color:#ebdac6}.atlas-excursions .atlas-mark{color:#b67e3f}
.atlas-ground{background:#f1efe9}.atlas-budget{background:#e5eee5}
.atlas-choice-list{display:grid;gap:10px}.atlas-choice{display:grid;grid-template-columns:minmax(135px,1fr) minmax(220px,3fr) auto;gap:15px;align-items:center;border:1px solid #e4e7e0;background:rgba(255,255,255,.86);border-radius:11px;padding:13px}
.atlas-choice-label{display:flex;flex-direction:column;gap:3px}.atlas-choice-label strong{font-family:var(--font-heading);font-size:22px}.atlas-choice-label small{color:#7a8b81;font-size:11px}
.atlas-choice select{width:100%;min-width:0;padding:12px;border:1px solid #b8c8bb;border-radius:8px;color:#2b4b40;background:#fff;font:inherit}
.atlas-choice button{padding:11px 15px}
.atlas-timeline{margin-top:21px;padding:19px 20px;background:#eff4ee;border-left:4px solid #6b9880;border-radius:8px}.atlas-timeline .eyebrow{margin-bottom:13px}
.atlas-timeline>div{display:flex;align-items:center;gap:13px;padding:9px 0;border-top:1px solid #d6e4d8;flex-wrap:wrap;font-size:13px}.atlas-timeline>div strong{min-width:90px}.atlas-timeline>div small{color:#6f7e72}.atlas-time-dot{height:9px;width:9px;background:#c77d62;border-radius:50%}
.atlas-add{margin-top:18px;border:1px dashed #b6c6c0;padding:14px 17px;border-radius:11px;background:#ffffff99}
.atlas-add summary{font-weight:700;color:#355f52;cursor:pointer}.atlas-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:20px}
.atlas-add-grid label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:5px}
.atlas-add-grid input,.atlas-add-grid select{font:inherit;width:100%;border:1px solid #bec9c3;border-radius:8px;padding:11px;color:#2d4b41;background:#fff}
.atlas-add-grid button{justify-self:start;align-self:end}
@media(max-width:900px){.atlas-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.atlas-page{padding-top:20px}.atlas-hero{padding:20px 22px 0}.atlas-stamp{display:none}.atlas-section{padding:18px}.atlas-choice{grid-template-columns:1fr}.atlas-choice button{width:100%}.atlas-section-head{gap:10px}.atlas-mark{display:none}.atlas-add-grid{grid-template-columns:1fr}.atlas-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.atlas-flight-ticket{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;margin-top:13px;background:#fff;border:1px solid #b6ced4;border-left:5px solid #6595a6;border-radius:10px;padding:16px 20px;box-shadow:0 6px 18px rgba(37,71,81,.05)}
.atlas-flight-ticket>div{display:flex;flex-direction:column;gap:6px}.atlas-flight-ticket strong{font-family:var(--font-heading);font-size:21px}.atlas-flight-ticket small{color:#6b929f;font-size:10px;letter-spacing:1px;font-weight:700}.atlas-flight-ticket span{font-size:12px;color:#597882}
@media(max-width:650px){.atlas-flight-ticket{grid-template-columns:1fr}}


/* Identity and editorial redesign, mobile-safe and destination-agnostic. */
.brand{display:flex;align-items:center;gap:9px;margin-left:0;white-space:nowrap}
.furlong-bear-mark{width:48px;height:42px;object-fit:contain;filter:brightness(0) saturate(100%) invert(22%) sepia(15%) saturate(849%) hue-rotate(104deg) brightness(92%);flex-shrink:0}
.brand-wordmark{font-family:var(--font-heading);font-size:35px;letter-spacing:-1.3px}
.brand-wordmark>span{color:var(--clay)}
.atlas-hero{background:linear-gradient(90deg,rgba(25,43,38,.94) 0%,rgba(32,58,48,.79) 58%,rgba(34,53,44,.35) 100%),url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1800&q=85") center/cover;min-height:320px}
.atlas-hero-grid{min-height:219px}
.atlas-route-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:165px;border:1px solid rgba(248,241,223,.65);border-radius:12px;padding:18px 20px;background:rgba(28,52,44,.58);position:relative;z-index:1}
.atlas-route-identity span{font-size:10px;letter-spacing:1.4px;color:#e3d9c7;font-weight:700}
.atlas-route-identity strong{font:500 38px var(--font-heading);color:#fff}
.atlas-route-identity small{font-size:11px;color:#d7e8dc}
.atlas-hero-caption{display:flex;justify-content:space-between;gap:12px;color:#f2dcc5;border-top:1px solid rgba(255,255,255,.25);padding:12px 0;font-size:10px;letter-spacing:2px;font-weight:700}
.atlas-city-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:22px}
.atlas-city-tile{min-width:0;min-height:182px;border-radius:11px;overflow:hidden;position:relative;background:#678e7a;box-shadow:0 8px 19px rgba(25,54,44,.10)}
.atlas-city-dublin{background:linear-gradient(0deg,rgba(10,42,40,.91),rgba(10,42,40,.04) 80%),url("https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Dublin_-_aerial_-_panorama_-_2025-02-06.jpg/640px-Dublin_-_aerial_-_panorama_-_2025-02-06.jpg") center/cover}
.atlas-city-galway{background:linear-gradient(160deg,#397f85,#adc5a9)}
.atlas-city-edinburgh{background:linear-gradient(160deg,#615d75,#bd9780)}
.atlas-city-inverness{background:linear-gradient(160deg,#46736f,#aec9ad)}
.atlas-city-london{background:linear-gradient(160deg,#866959,#d5ab80)}
.atlas-city-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;gap:4px;padding:14px;background:linear-gradient(0deg,rgba(18,36,34,.58),transparent 80%);color:white}
.atlas-city-overlay small{font-size:9px;letter-spacing:1px;opacity:.85}
.atlas-city-overlay strong{font:500 27px var(--font-heading)}
.atlas-city-overlay span{font-size:11px}
@media(max-width:1150px){.atlas-city-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.brand{margin:0}.furlong-bear-mark{width:41px}.brand-wordmark{font-size:32px}.atlas-hero-grid{min-height:185px}.atlas-city-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-route-identity{min-width:116px;padding:10px}.atlas-route-identity strong{font-size:28px}}
@media(max-width:440px){.atlas-route-identity{display:none}.atlas-city-gallery{grid-template-columns:1fr 1fr}.atlas-city-tile{min-height:150px}.atlas-hero-caption{font-size:8px;letter-spacing:1px}}

/* Approved polar bear: retain the SVG's native deep-pine color. */
.furlong-bear-mark{filter:none!important;width:60px;height:43px;object-fit:contain;flex-shrink:0}
.brand{gap:7px}
@media(max-width:680px){.furlong-bear-mark{width:49px;height:38px}}


/* Furlong jewel-tone system — shared across every screen.
   Logo artwork remains its approved pine #283C36. */
:root{
  --ivory:#EAF1F5;
  --white:#FFFFFF;
  --pine:#173F45;
  --sage:#116C68;
  --clay:#7B3F83;
  --muted:#4F6775;
  --border:#BDD0DA;
  --soft-green:#DCEEEB;
  --jewel-emerald:#075E57;
  --jewel-sapphire:#173D77;
  --jewel-aubergine:#523269;
  --jewel-teal:#127D89;
  --jewel-gold:#D3A34F;
  --surface:#F5FAFC;
}
body{background:radial-gradient(ellipse at top right,rgba(39,113,148,.11),transparent 48%),#EAF1F5;color:#1B3D4B}
.sidebar{background:#123C4C;border-right:1px solid #276474}
.sidebar .brand,.sidebar .brand-wordmark{color:#F3FAFC}
.sidebar .brand-wordmark>span{color:#E4B95D}
.sidebar .furlong-bear-mark{filter:brightness(0) invert(1)!important}
.sidebar .nav-link{color:#CEE1E8}
.sidebar .nav-link:hover{background:#245D6F;color:#FFFFFF}
.sidebar .nav-link.active{background:#1D777B;color:#FFFFFF;box-shadow:inset 3px 0 #E1B25B}
.sidebar .sidebar-footer{color:#A7CBD5}
:focus-visible{outline-color:#173D77}
.primary-btn{background:#116A69;border-color:#116A69;color:#fff}
.primary-btn:hover{background:#095251;border-color:#095251}
.secondary-btn{background:#fff;border-color:#91B5C4;color:#174C62}
.secondary-btn:hover{background:#D9EDF2}
.eyebrow{color:#17697A}
.trip-cover,.overview-banner{background:linear-gradient(130deg,#116C68 0%,#153E76 55%,#54356E 100%)}
.trip-card:nth-child(3n + 2) .trip-cover{background:linear-gradient(135deg,#194B83,#563675 70%,#85538A)}
.trip-card:nth-child(3n + 3) .trip-cover{background:linear-gradient(135deg,#076B69,#167B92 60%,#18467D)}
.trip-status{background:#D8F1EB;color:#085A56}
.empty-state{background:#F6FBFD;border-color:#8DABB8}
.trip-dialog,.overview-preview,.trip-card{border-color:#BCD1DA}
.preview-heading-icon{background:#D7E9F6;color:#174A83}
.atlas-hero{background-image:linear-gradient(90deg,rgba(9,38,62,.94) 0%,rgba(10,66,78,.78) 52%,rgba(51,30,82,.38) 100%),url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1800&q=85")}
.atlas-route-identity{background:#163C65C9;border-color:#9DC4D9}
.atlas-route-identity span,.atlas-route-identity small{color:#D7EBF4}
.atlas-hero-caption{color:#E5D19D}
.atlas-metrics>div{border-color:#C1D8E0;border-bottom-color:#178279}
.atlas-metrics>div:nth-child(2){border-bottom-color:#654A99;background:#F0EAF6}
.atlas-metrics>div:nth-child(3){background:#E5EDF9;border-bottom-color:#2459A3}
.atlas-metrics>div:nth-child(4){background:#DBF2EC;border-bottom-color:#0C8B80}
.atlas-jump a{background:#F8FCFF;border-color:#B4CEDD;color:#205576}
.atlas-jump a:hover{background:#DFEFF7}
.atlas-section{border-color:#AFC9D7;background:#FCFEFF}
.atlas-section-head{border-bottom-color:#CBDCE6}
.atlas-number{color:#286B95}
.atlas-mark{color:#C69B47}
.atlas-flights{background:#DBEAF8;border-color:#A4C6DF}
.atlas-flights .atlas-number,.atlas-flights .atlas-mark{color:#1E518E}
.atlas-excursions{background:#EDE3F5;border-color:#D1BBE1}
.atlas-excursions .atlas-number,.atlas-excursions .atlas-mark{color:#6B3F85}
.atlas-ground{background:#DEF1F0;border-color:#A4D1CE}
.atlas-ground .atlas-number,.atlas-ground .atlas-mark{color:#087973}
.atlas-budget{background:#E5EBF8;border-color:#B4C3E2}
.atlas-choice{border-color:#BDD2DD;background:#FFFFFF}
.atlas-choice-label strong{color:#173E60}
.atlas-choice select,.atlas-add-grid input,.atlas-add-grid select{border-color:#94B7C9;color:#1E455A;background:#FFFFFF}
.atlas-timeline{background:#E0F1EF;border-left-color:#11837F}
.atlas-timeline>div{border-top-color:#B6DCD7}
.atlas-time-dot{background:#9A5BA5}
.atlas-add{background:#FFFFFFC9;border-color:#93B7C7}
.atlas-add summary{color:#194E79}
.atlas-flight-ticket{border-color:#AFC9E2;border-left-color:#315C9B;background:#F8FCFF}
.atlas-city-dublin{background:linear-gradient(0deg,#14354EDB,#14354E1A 80%),url("https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Dublin_-_aerial_-_panorama_-_2025-02-06.jpg/640px-Dublin_-_aerial_-_panorama_-_2025-02-06.jpg") center/cover}
.atlas-city-galway{background:linear-gradient(145deg,#06636E,#1D94AA)}
.atlas-city-edinburgh{background:linear-gradient(145deg,#3E3A77,#8251A1)}
.atlas-city-inverness{background:linear-gradient(145deg,#075C63,#1C907E)}
.atlas-city-london{background:linear-gradient(145deg,#224778,#84448A)}
.workspace-warning{border-color:#E0B568;color:#704418;background:#FFF5DF}
/* Legacy workspace, saved ideas, and form surfaces share the jewel palette. */
.option-add{background:#E5F0F8!important;border-color:#A5C9DA!important}
.option-city{border-color:#B7CFDA}
.option-city h2,.option-add h2{color:#214C75}
.scenario-tabs .scenario-active{background:#174F81!important;border-color:#174F81!important;color:#FFFFFF!important}
.workspace-revamp .scenario-tabs .scenario-active{background:#174F81!important;border-color:#174F81!important}
.workspace-revamp .workspace-picker{background:#FAFDFF;border-color:#B1CAD6}
.workspace-revamp .workspace-timeline{background:#DCF0F1}
.workspace-revamp .choice-row{background:#F0F8FB;border-color:#C0D6E1}
.workspace-revamp .choice-row strong{color:#1E5373}


/* Comparison cards and dated itinerary */
.hotel-city-sections{display:grid;gap:26px}
.hotel-city-section{padding-bottom:23px;border-bottom:1px solid #B8D1DC}
.hotel-city-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px}
.hotel-city-heading h3{font-size:29px;color:#173D77}.hotel-city-heading span{font-size:12px;color:#476B83}
.hotel-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.hotel-comparison-card{display:flex;flex-direction:column;min-width:0;padding:21px;border:1px solid #BED1E0;background:#F7FAFF;border-radius:14px;box-shadow:0 4px 13px #154A6B0A}
.hotel-is-selected{border:2px solid #087F78;background:#E8F7F3}
.hotel-card-top{display:flex;justify-content:space-between;align-items:center;gap:9px}
.hotel-card-number{font:italic 26px var(--font-heading);color:#7190A1}
.hotel-card-chosen{font-size:11px;color:#056159}.hotel-card-candidate{font-size:11px;color:#667888}
.hotel-comparison-card h4{font:500 25px/1.12 var(--font-heading);color:#183A63;margin:12px 0}
.hotel-price{font:500 30px/1.05 var(--font-heading);color:#076E6B;margin:0 0 11px}
.hotel-price small{display:inline;font:600 11px var(--font-body);color:#567888}
.hotel-price-missing{font:600 15px var(--font-body);color:#7A4B82}
.hotel-dates{font-size:12px;color:#32617B;margin-bottom:9px}
.hotel-card-notes{font-size:12px;color:#536977;line-height:1.55;flex:1}
.hotel-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto}
.hotel-card-actions button{padding:9px 13px;font-size:12px}
.hotel-card-actions a{font-size:12px;text-decoration:underline;color:#145785}
.itinerary-modern .itinerary-tabs{margin:22px 0}
.itinerary-modern .itinerary-add-day{margin:19px 0 30px}
.itinerary-story{display:grid;gap:19px}
.itinerary-story-day{display:grid;grid-template-columns:160px minmax(0,1fr);background:#FFFFFF;border:1px solid #B9D0DE;border-radius:17px;overflow:hidden}
.itinerary-story-date{padding:25px 19px;color:#FFFFFF;font:500 20px var(--font-heading);background:linear-gradient(145deg,#113F76,#0D7778)}
.itinerary-story-body{padding:25px;min-width:0}
.itinerary-story-body h2{font-size:32px;margin:0 0 15px;color:#193E70}
.itinerary-story-body>p:not(.eyebrow){color:#516D7F}
.itinerary-edit-day{margin-bottom:12px}.itinerary-edit-day summary{cursor:pointer;color:#175E84;font-weight:600;font-size:12px}
.itinerary-activities{margin-top:17px;display:grid;gap:8px}
.itinerary-activity{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;padding:12px 13px;background:#EFF6FC;border-radius:10px}
.itinerary-activity>span{font-size:11px;color:#2B6382}.itinerary-activity strong{display:block;font-size:13px}
.itinerary-activity small{display:block;color:#516C7D;font-size:11px}
.ledger-section{margin-top:24px;padding-top:18px;border-top:1px solid #BACDDD}
.ledger-section h3{font-size:29px;color:#183F71}
.ledger-list{display:grid;gap:8px;margin:17px 0}
.ledger-item{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid #C5D7E4;background:#FAFDFF;border-radius:11px}
.ledger-item>div{flex:1}.ledger-item small{display:block;font-size:11px;color:#547183}
.ledger-item strong{display:block;font-size:13px}.ledger-item b{white-space:nowrap}
.ledger-item button{padding:6px 11px}.ledger-footnote{font-size:12px;color:#345F78;margin:14px 0 0}
@media(max-width:820px){.hotel-comparison-grid{grid-template-columns:1fr}}
@media(max-width:620px){.itinerary-story-day{grid-template-columns:1fr}.itinerary-story-date{padding:12px 20px}.itinerary-story-body{padding:18px}.itinerary-activity{grid-template-columns:1fr auto}.itinerary-activity>span{grid-column:1/-1}}


/* Stay navigation and hotel quote editing */
.sidebar-city-jumps{display:flex;flex-direction:column;gap:3px;margin-top:23px;padding:16px 0 0;border-top:1px solid #3A7283}
.sidebar-jumps-title{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#A8CED7;padding:0 13px 8px}
.sidebar-city-jumps a{display:flex;align-items:center;justify-content:space-between;padding:7px 13px;border-radius:8px;color:#D4EBF0;font-size:13px}
.sidebar-city-jumps a:hover,.sidebar-city-jumps a:focus-visible{background:#247182;color:#fff}
.sidebar-city-jumps small{opacity:.65}
.atlas-city-gallery a.atlas-city-tile{display:block;cursor:pointer}
.atlas-city-gallery a.atlas-city-tile:hover{outline:3px solid #D3A34F;outline-offset:2px}
.hotel-city-section{scroll-margin-top:20px}
.hotel-city-section:target{outline:3px solid #D3A34F;outline-offset:7px;border-radius:5px}
.hotel-quote-edit{margin-top:13px;padding-top:11px;border-top:1px solid #BDD5DD}
.hotel-quote-edit summary{font-size:12px;font-weight:700;color:#1B597E;cursor:pointer}
.hotel-quote-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.hotel-quote-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#315E78}
.hotel-quote-form input,.hotel-quote-form textarea{min-width:0;width:100%;border-radius:8px;padding:9px 11px;border:1px solid #A8C4D2;background:white;color:#183E57;font:inherit}
.hotel-quote-form .hotel-notes-input{grid-column:1/-1}
.hotel-quote-form button{justify-self:start}
@media(max-width:650px){.sidebar-city-jumps{display:none}.hotel-quote-form{grid-template-columns:1fr}}


/* Compact comparison cards and city planning hubs */
.hotel-comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hotel-comparison-card{padding:13px 15px;border-radius:11px}
.hotel-card-number{font-size:18px}
.hotel-comparison-card h4{font-size:21px;margin:8px 0}
.hotel-price{font-size:24px;margin-bottom:7px}
.hotel-dates{font-size:11px;margin-bottom:7px}
.hotel-card-notes{font-size:11px;line-height:1.4;max-height:56px;overflow:auto}
.hotel-card-actions{margin-top:10px}
.hotel-card-actions button{padding:7px 10px}
.hotel-quote-edit{margin-top:9px;padding-top:8px}
.city-hub-shortcut{font-size:12px;color:#176883;text-decoration:underline}
.city-nav-active{background:#247182;color:#fff!important}
.city-page{padding-top:35px}
.city-back{display:inline-block;color:#1B6583;font-weight:700;font-size:12px;margin-bottom:16px}
.city-page-hero{border-radius:17px;padding:30px 34px;margin-bottom:24px;color:white;background:linear-gradient(115deg,#103D69,#126C73 60%,#513477)}
.city-page-hero h1{font-size:clamp(44px,6vw,70px);color:white}
.city-page-hero .eyebrow{color:#DCBE75}
.city-page-hero .scenario-tabs{margin-top:20px}
.city-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.city-hub-panel,.city-days{background:#FAFDFF;border:1px solid #B5CEDB;border-radius:15px;padding:23px;margin-bottom:20px}
.city-hub-panel h2,.city-days h2{font-size:31px;color:#174F76;margin-bottom:18px}
.city-hub-panel .secondary-btn{display:inline-block;margin-top:14px}
.city-selected-stay,.city-idea{padding:12px;background:#E8F2F6;border-left:3px solid #188078;border-radius:6px;margin:10px 0}
.city-selected-stay strong{display:block;font-size:18px}.city-selected-stay p{margin:6px 0;font-size:12px}
.city-idea{display:flex;flex-direction:column;gap:4px}.city-idea span{font-size:12px;color:#41677A}
.city-day{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #D2E1E8}
.city-day-date{color:#1B7284;font-weight:700;font-size:13px}
.city-day h3{font-size:24px;color:#183D72;margin-bottom:8px}.city-day p{font-size:13px;color:#456578}
.city-day-activity{padding:8px 10px;margin:6px 0;background:#E5F1EF;border-radius:7px;font-size:12px}
.city-days>.primary-btn{display:inline-block;margin-top:20px}
@media(max-width:1100px){.hotel-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.city-hub-grid,.hotel-comparison-grid{grid-template-columns:1fr}.city-day{grid-template-columns:1fr;gap:3px}.city-page-hero{padding:22px}}


/* Exploratory budget workspace — distinctly separate from recorded spending */
.playground-page{padding-top:35px}
.playground-tabs{margin:20px 0 23px}
.playground-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:26px}
.playground-summary>div{background:linear-gradient(145deg,#123E6E,#086E74);border-radius:13px;padding:17px;color:white;min-width:0}
.playground-summary>div:nth-child(2){background:linear-gradient(145deg,#453672,#70528D)}
.playground-summary>div:nth-child(3){background:linear-gradient(145deg,#075C63,#16847A)}
.playground-summary>div:nth-child(4){background:linear-gradient(145deg,#1C4A7A,#315B9B)}
.playground-summary small{font-size:10px;letter-spacing:1px;display:block;color:#D7E7ED}
.playground-summary strong{font:500 clamp(25px,3vw,36px) var(--font-heading);display:block;margin-top:10px}
.playground-summary .pg-over{color:#FFD3C7}
.playground-panel{border:1px solid #BDD2DC;background:#FBFDFF;border-radius:15px;margin:18px 0;padding:24px}
.playground-panel h2{font-size:32px;color:#174E74;margin-bottom:8px}
.playground-panel>p,.playground-heading p{font-size:13px;color:#4C6578}
.playground-heading{display:flex;justify-content:space-between;gap:14px;align-items:start;margin-bottom:18px}
.playground-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.playground-option{padding:12px;background:#EAF3F8;border-radius:10px;border:1px solid #C0D9E3;min-width:0}
.playground-option label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}
.playground-option label small{color:#547387}
.playground-option select{width:100%;min-width:0;margin-top:9px;padding:10px;border:1px solid #9BBBCB;border-radius:8px;background:white;color:#173F5D;font:inherit;font-size:12px}
.pg-warning{color:#864C2C!important;font-weight:600;margin:13px 0 0}
.playground-whatif{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end}
.playground-whatif label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}
.playground-whatif input{padding:11px;min-width:0;border:1px solid #9CBFCE;border-radius:8px}
.pg-extra{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid #D2E3E9}
.pg-extra span{flex:1}.pg-extra strong{font-size:14px}
.playground-baseline .secondary-btn{display:inline-block;margin-top:8px}
@media(max-width:1050px){.playground-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.playground-options{grid-template-columns:1fr}.playground-whatif{grid-template-columns:1fr}.playground-heading{flex-direction:column}}

.hotel-delete-btn{border:1px solid #C88790;color:#8F2D44;background:#FFF8F8;border-radius:8px;padding:7px 10px;font-weight:700;font-size:12px;cursor:pointer}.hotel-delete-btn:hover{background:#F7DDE1;border-color:#A84257}

.hotel-add-stay{margin:0 0 13px;background:#EDF7FA;border:1px solid #A9C9D7;border-radius:11px;padding:11px 15px}
.hotel-add-stay summary{cursor:pointer;font-size:13px;font-weight:700;color:#176C80}
.hotel-add-stay[open]{padding-bottom:17px}

.hotel-quick-quote{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding:9px 0}.hotel-quick-quote label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:130px;font-size:12px;font-weight:700}.hotel-quick-quote input{width:100%;min-width:0;border:1px solid #AAC4D0;border-radius:7px;padding:8px;font:inherit}.hotel-quick-quote button{white-space:nowrap}

.auth-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#17587a 0,#113755 45%,#142944 100%);padding:24px}
.auth-card{width:min(100%,460px);background:#fbfdff;border-radius:18px;padding:35px;box-shadow:0 22px 60px #001e3b50}
.auth-card .brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:24px}
.auth-card h1{font-size:clamp(32px,5vw,45px);color:#183d5a}
.auth-card .page-subtitle{margin:10px 0 20px}
.auth-card a{color:#176e88}
.auth-form{display:grid;gap:17px;margin-top:22px}
.auth-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#25536c}
.auth-form input{padding:13px;border-radius:8px;border:1px solid #9dbdcf;background:white;font:inherit}
.auth-form button{margin-top:4px}
.auth-error{background:#fff0f1;color:#922b49;padding:12px;border-radius:9px;font-size:13px}
.auth-disclaimer{font-size:11px;color:#657f90;line-height:1.5;margin-top:24px}



/* Finish the jewel palette on shared controls and summary surfaces. */
.sidebar :focus-visible,
.atlas-hero :focus-visible,
.city-page-hero :focus-visible { outline-color: #9DE2D6; }

.atlas-metrics > div {
    background: #075E57;
    border-color: #075E57;
    color: #FFFFFF;
}
.atlas-metrics > div:nth-child(2) {
    background: #523269;
    border-color: #523269;
}
.atlas-metrics > div:nth-child(3) {
    background: #173D77;
    border-color: #173D77;
}
.atlas-metrics > div:nth-child(4) {
    background: #14646D;
    border-color: #14646D;
}
.atlas-metrics span { color: #E2EDF4; }
.atlas-metrics .over-budget {
    background: #FFF0E9 !important;
    color: #7A3027;
}
.atlas-metrics .over-budget span { color: #7A3027; }
.atlas-choice-label small,
.atlas-timeline > div small { color: #4F6775; }
.atlas-hero-caption { color: #C8E9EA; }
.atlas-route-bar small { color: #37647B; }
.workspace-hero {
    background: linear-gradient(112deg, #075E57, #173D77 70%, #523269);
}



/* FURLONG DESIGN ATLAS — October 2026 approved mixed-metal visual system.
   Preserves original page structure and behaviors. */
:root{
 --bg:#071f2b;--panel:#103847;--text:#f4e7b8;--soft:#b5d9db;
 --gold:#f4be4f;--emerald:#07694f;--sapphire:#193e9b;
 --purple:#652b8d;--ruby:#9c244b;--silver:#c4d4e2;
 --copper:#e5a17c;--bronze:#c69a60;--platinum:#d8e5eb;
 --ivory:#071f2b;--white:#103847;--pine:#f4e7b8;
 --sage:#26a38a;--clay:#e5a17c;--muted:#b5d9db;
 --border:#416a79;--soft-green:#123f43;
 --font-heading:"Newsreader",Georgia,serif;--font-body:"DM Sans",Arial,sans-serif;
}
html{background:var(--bg);color-scheme:dark}
body{background:var(--bg);color:var(--text)}
h1,h2,h3,h4,.brand-wordmark{color:var(--text)}
h1,h2,h3{font-family:var(--font-heading);font-weight:400}
p,.page-subtitle,.overview-destination,.muted{color:var(--soft)}
a{color:inherit}
a:hover{color:var(--gold)}
:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold)!important;outline-offset:3px}
.sidebar{background:#092936;border-right:1px solid #8a694f}
.brand{color:var(--platinum)}
.brand-wordmark{color:var(--platinum)}
.brand-wordmark span{color:var(--gold)}
.furlong-bear-mark{filter:brightness(0) saturate(100%) invert(94%) sepia(10%) saturate(174%) hue-rotate(165deg)}
.sidebar-footer{color:var(--soft);border-color:#42616e}
.sidebar-nav .nav-link{color:var(--silver);background:transparent;border:1px solid transparent}
.sidebar-nav .nav-link:hover{background:#164b59;color:var(--platinum);border-color:#618a8a}
.sidebar-nav .nav-link.active{color:#132e36;background:var(--gold);border-color:var(--gold)}
.main-content{background:var(--bg);color:var(--text)}
.breadcrumbs,.breadcrumbs a{color:var(--silver)}
.breadcrumbs span:last-child{color:var(--gold)}
.eyebrow,small.eyebrow,.atlas-overline,.atlas-kicker{color:var(--copper)}
button,.primary-btn,.secondary-btn,.preview-action{font-family:var(--font-body)}
.primary-btn,button.primary-btn,a.primary-btn{background:var(--gold);border:1px solid var(--gold);color:#182c2e!important;border-radius:7px}
.primary-btn:hover,button.primary-btn:hover,a.primary-btn:hover{background:#ffd57d}
.secondary-btn,button.secondary-btn,a.secondary-btn{background:#123b4a;color:var(--silver);border:1px solid #99aabb;border-radius:7px}
.secondary-btn:hover,button.secondary-btn:hover,a.secondary-btn:hover{background:#1d5062;color:var(--platinum)}
.secondary-btn.scenario-active,.scenario-tabs .scenario-active{background:var(--gold)!important;color:#182c2e!important;border-color:var(--gold)!important}
input,select,textarea{background:#0d3040;border:1px solid #8fa5b8;border-radius:6px;color:var(--text)}
input::placeholder,textarea::placeholder{color:#99b7c1}
label{color:var(--platinum)}
input:focus,select:focus,textarea:focus{border-color:var(--platinum)}
details,.overview-preview,.option-card,.hotel-comparison-card,.city-hub-panel,.city-days,.city-day,.atlas-choice,.atlas-add,.ledger-item,.pg-option,.trip-card,.stats-card{background:var(--panel);border-color:#8296ab;color:var(--text);box-shadow:inset 0 1px 0 #d8e5eb22}
summary{color:var(--copper)}
dialog,.trip-dialog{background:#0a2936;color:var(--text);border:1px solid var(--gold)}
dialog::backdrop{background:#00141bdb}
.overview-banner{background:radial-gradient(ellipse at 84% 9%,#19718b,transparent 50%),linear-gradient(120deg,#07543f,#123777);border:1px solid var(--copper);box-shadow:inset 0 1px 0 #f5c4a977}
.banner-hill,.banner-circle{opacity:.25}
.overview-header{border-color:#42616e}
.overview-header h1{color:var(--text)}
.overview-preview{border:1px solid #8296ab;background:var(--panel);border-radius:12px}
.overview-preview:nth-child(2){border-color:var(--copper)}
.preview-heading{border-color:#42616e}
.preview-heading h2{color:var(--platinum)}
.preview-heading-icon,.empty-icon-wrap{background:#153d50;color:var(--copper);border-color:#63818e}
.overview-day-link{color:var(--platinum);border-color:#42616e}
.overview-day-link:hover{background:#18485a}
.overview-day-number{color:var(--gold)}
.overview-day-count{color:var(--silver)}
.preview-footer{border-color:#42616e}
.preview-action{color:var(--gold)}
.preview-empty h3{color:var(--text)}
.preview-empty p{color:var(--soft)}
.page-footer{border-color:#42616e;color:var(--silver)}
.overview-atlas-meta{display:flex;gap:10px;flex-wrap:wrap;margin:5px 0 22px}
.overview-atlas-meta span{border:1px solid var(--silver);border-radius:30px;padding:6px 12px;color:var(--platinum);font-size:11px;letter-spacing:.03em}
.overview-atlas-divider{height:2px;max-width:110px;background:linear-gradient(90deg,var(--copper),var(--gold),transparent);margin:12px 0 0}
.overview-sections{gap:17px}
.overview-preview:first-child{border-color:var(--silver)}
.overview-preview:last-child{border-color:var(--copper)}
/* Workspace components retain their real content and actions. */
.atlas-page,.city-page,.itinerary-modern{background:var(--bg)}
.atlas-hero,.city-page-hero{background:radial-gradient(ellipse at 85% 10%,#19718b,transparent 48%),linear-gradient(120deg,#07543f,#123777);border:1px solid var(--copper);color:var(--text)}
.atlas-metrics>div,.atlas-section,.hotel-city-section,.hotel-castle-panel,.atlas-flight-ticket,.city-selected-stay{background:var(--panel);border-color:#8296ab;color:var(--text)}
.atlas-metrics>div:nth-child(2){border-color:var(--silver)}
.atlas-metrics>div:nth-child(3){border-color:var(--copper)}
.atlas-number,.atlas-mark{color:var(--copper)}
.hotel-price,.hotel-price-missing{color:var(--gold)}
.hotel-card-chosen{color:#b6f0d8}
.hotel-card-candidate,.hotel-dates,.hotel-card-notes{color:var(--soft)}
.hotel-editor-drawer{background:#092936;color:var(--text);border-left:1px solid var(--copper)}
.hotel-editor-header{background:#103847;border-color:#8296ab}
.hotel-editor-header h3{color:var(--text)}
.hotel-editor-close,.hotel-editor-hint,.hotel-drawer-form label{color:var(--silver)}
.hotel-drawer-form input,.hotel-drawer-form textarea{background:#0d3040;color:var(--text);border-color:#8fa5b8}
.hotel-editor-danger{border-color:#8296ab}
.atlas-city-tile:nth-child(4n+1){border-color:var(--silver)}
.atlas-city-tile:nth-child(4n+2){border-color:var(--copper)}
.atlas-city-tile:nth-child(4n+3){border-color:var(--platinum)}
.atlas-city-tile:nth-child(4n){border-color:var(--bronze)}
@media(max-width:700px){.overview-sections{grid-template-columns:1fr}.sidebar{background:#092936}.overview-atlas-meta{margin-bottom:17px}}

/* Design Atlas — Trip Overview information-density refinement */
.overview-banner{height:clamp(145px,15vw,190px)!important;min-height:0!important;margin-bottom:20px!important}
.overview-header{padding-top:0!important;padding-bottom:13px!important;margin-bottom:10px!important}
.overview-header h1{margin-top:3px!important;margin-bottom:3px!important}
.overview-destination{margin-top:6px!important;margin-bottom:0!important}
.overview-atlas-divider{margin-top:8px!important}
.overview-planning-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 15px}
.overview-planning-toolbar .scenario-tabs{display:flex;align-items:center;gap:8px;margin:0!important}
.overview-planning-toolbar .primary-btn{display:inline-flex;align-items:center;justify-content:center}
.overview-sections{margin-top:0!important}
.overview-idea-list{display:grid;gap:9px}
.overview-idea-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #587b8a;border-radius:9px;background:#0b2d3b;padding:11px 12px}
.overview-idea-information{min-width:0;display:flex;flex-direction:column;gap:3px}
.overview-idea-information strong{color:var(--platinum);font-size:13px;font-weight:600;line-height:1.3}
.overview-idea-information small{color:var(--soft);font-size:11px}
.overview-idea-price{flex-shrink:0;color:var(--gold);font-size:12px;font-weight:600}
@media(max-width:650px){.overview-banner{height:145px!important}.overview-planning-toolbar{align-items:stretch}.overview-planning-toolbar .primary-btn{width:100%}.overview-idea-row{align-items:flex-start}.overview-idea-price{font-size:11px}}

/* Atlas phase 3: itinerary cards and controls. No route/data changes. */
.itinerary-modern{color:var(--text);background:var(--bg)}
.itinerary-modern h1{color:var(--text)}
.itinerary-modern .page-subtitle{color:var(--soft)}
.itinerary-story{gap:13px}
.itinerary-story-day{background:#103847!important;border:1px solid #8296ab!important;border-radius:12px;overflow:hidden;box-shadow:inset 0 1px 0 #d8e5eb2a}
.itinerary-story-date{background:linear-gradient(155deg,#173d92,#07694f)!important;color:#f4e7b8!important;border-right:1px solid #c4d4e2;padding:19px 15px}
.itinerary-story-body{padding:19px 22px!important;background:#103847!important;color:#d8e5eb!important}
.itinerary-story-body h2{font-size:29px!important;margin:0 0 9px!important;color:#f4e7b8!important}
.itinerary-story-body>.eyebrow{color:#e5a17c!important}
.itinerary-story-body>p:not(.eyebrow){color:#b5d9db!important;margin:8px 0 12px}
.itinerary-story-body .itinerary-edit-day{margin:12px 0;background:#0b2e3c!important;border:1px solid #547588!important;border-radius:8px;padding:8px 12px}
.itinerary-story-body .itinerary-edit-day summary{color:#d8e5eb!important;cursor:pointer}
.itinerary-story-body .itinerary-edit-day summary:hover{color:#f4be4f!important}
.itinerary-modern .atlas-add,.itinerary-modern .itinerary-add-day{background:#103847!important;border:1px dashed #8296ab!important;border-radius:10px}
.itinerary-modern .atlas-add summary,.itinerary-modern .itinerary-add-day summary{color:#f4be4f!important;font-weight:600!important}
.itinerary-modern .atlas-add summary:hover{color:#d8e5eb!important}
.itinerary-modern .atlas-add-grid label{color:#d8e5eb}
.itinerary-modern input,.itinerary-modern textarea,.itinerary-modern select{background:#0d3040!important;border:1px solid #8fa5b8!important;color:#f4e7b8!important}
.itinerary-modern input::placeholder,.itinerary-modern textarea::placeholder{color:#a8c3cc}
.itinerary-activities{margin-top:12px;gap:7px}
.itinerary-activity{background:#0a2d3d!important;border:1px solid #4d758b;border-radius:9px;padding:10px 12px}
.itinerary-activity>span{color:#e5a17c!important}
.itinerary-activity strong{color:#d8e5eb}
.itinerary-activity small{color:#b5d9db!important}
.itinerary-story-body .secondary-btn{background:#123b4a!important;color:#d8e5eb!important;border:1px solid #99aabb!important}
.itinerary-story-body .primary-btn{background:#f4be4f!important;color:#182c2e!important}
.itinerary-modern .itinerary-story-body .atlas-add{margin-top:12px}
.itinerary-modern .itinerary-story-body .atlas-add summary{color:#f4be4f!important}
@media(max-width:620px){.itinerary-story-day{grid-template-columns:1fr}.itinerary-story-date{border-right:0;border-bottom:1px solid #c4d4e2;padding:12px 18px}.itinerary-story-body{padding:16px!important}.itinerary-story-body h2{font-size:25px!important}}

/* DESIGN ATLAS — Saved Options / Saved Ideas */
.options-page{background:var(--bg,#071f2b);color:var(--text,#f4e7b8)}
.options-heading{gap:22px;margin-bottom:24px}
.options-heading h1,.option-add h2,.option-city-heading h2,.option-empty h2{color:var(--text,#f4e7b8);font-family:var(--font-heading)}
.options-heading .page-subtitle{color:var(--soft,#b5d9db)}
.options-total{background:#103847!important;border:1px solid #c69a60!important;border-radius:12px;color:#d8e5eb;box-shadow:inset 0 1px 0 #d8e5eb2a}
.options-total span,.options-total small{color:#b5d9db!important}
.options-total strong{color:#f4be4f!important}
.option-add{background:#103847!important;border:1px solid #8296ab!important;border-radius:12px;padding:20px!important}
.option-form label,.option-edit-fields label{color:#d8e5eb!important}
.option-form input,.option-form select,.option-edit-fields input,.option-edit-fields select,.option-edit-fields textarea{background:#0d3040!important;color:#f4e7b8!important;border:1px solid #8fa5b8!important;border-radius:7px}
.option-form input::placeholder,.option-edit-fields input::placeholder{color:#a8c3cc}
.option-city{border-color:#416a79}
.option-city-heading{border-bottom:1px solid #416a79}
.option-city-heading h2{color:#d8e5eb!important}
.option-city-heading span{color:#b5d9db!important}
.option-grid{gap:12px}
.option-card{background:#103847!important;color:#d8e5eb!important;border:1px solid #8296ab!important;border-radius:12px;padding:16px!important;box-shadow:inset 0 1px 0 #d8e5eb2a;gap:8px}
.option-card.is-preferred{background:#123d41!important;border:2px solid #f4be4f!important;padding:15px!important}
.option-card h3{color:#f4e7b8!important;font-size:21px!important;line-height:1.2}
.option-category{background:#193e9b!important;color:#e1ebfa!important;border:1px solid #8eaacb!important}
.preferred-chip{background:#f4be4f!important;color:#172a31!important;border:1px solid #f4be4f!important}
.option-dates,.option-notes{color:#b5d9db!important}
.option-price{color:#f4be4f!important;margin:3px 0!important}
.option-price small{color:#b5d9db!important}
.option-price.missing{color:#d8e5eb!important}
.option-link{color:#e5a17c!important;text-decoration:underline;text-underline-offset:3px}
.option-link:hover{color:#f4be4f!important}
.option-edit{background:#0b2d3b!important;border:1px solid #547588!important;border-radius:8px;padding:9px 12px!important;margin-top:6px}
.option-edit summary{color:#f4be4f!important;font-weight:600}
.option-edit-fields{padding-top:10px}
.option-actions{margin-top:auto;padding-top:10px;border-top:1px solid #416a79}
.option-actions .secondary-btn{background:#123b4a!important;color:#d8e5eb!important;border:1px solid #99aabb!important}
.option-current{color:#aee7d0!important}
.option-remove{color:#f1b0bb!important;border-color:#9c244b!important;background:#401c32!important}
.option-remove:hover{background:#702743!important;color:#fff!important}
.option-empty{background:#103847!important;border:1px solid #8296ab!important;border-radius:12px;color:#b5d9db}
.option-empty p{color:#b5d9db}
@media(max-width:550px){.option-card{padding:14px!important}.option-card.is-preferred{padding:13px!important}.option-add{padding:16px!important}}

/* DESIGN ATLAS — Budget Playground (visual only; calculations remain in template JS). */
.playground-page{background:var(--bg,#071f2b);color:var(--text,#f4e7b8)}
.playground-page>h1{color:var(--text,#f4e7b8);font-family:var(--font-heading)}
.playground-page>.page-subtitle{color:var(--soft,#b5d9db);max-width:850px}
.playground-page>.page-subtitle strong{color:var(--platinum,#d8e5eb)}
.playground-tabs .scenario-active{background:var(--gold,#f4be4f)!important;color:#172a31!important;border-color:var(--gold,#f4be4f)!important}
.playground-summary{gap:12px;margin-bottom:22px}
.playground-summary>div{border:1px solid var(--silver,#c4d4e2);box-shadow:inset 0 1px 0 #e8f4ff32;background:linear-gradient(145deg,#174d78,#0b364f);color:#f4e7b8}
.playground-summary>div:nth-child(2){background:linear-gradient(145deg,#4b277c,#281d51);border-color:var(--platinum,#d8e5eb)}
.playground-summary>div:nth-child(3){background:linear-gradient(145deg,#08715c,#073f42);border-color:var(--copper,#e5a17c)}
.playground-summary>div:nth-child(4){background:linear-gradient(145deg,#912647,#481e3c);border-color:var(--bronze,#c69a60)}
.playground-summary small{color:#d5e7ec!important}
.playground-summary strong{color:#f4e7b8!important}
.playground-summary .pg-over{color:#ffd2bd!important}
.playground-panel{background:#103847!important;color:#d8e5eb!important;border:1px solid #8296ab!important;border-radius:12px;padding:22px}
.playground-panel h2{color:#f4e7b8!important;font-family:var(--font-heading);font-weight:400}
.playground-panel>p,.playground-heading p{color:#b5d9db!important}
.playground-panel strong{color:#f4e7b8}
.playground-option{background:#0a2d3c!important;border:1px solid #587b8a!important;border-radius:9px;color:#d8e5eb!important}
.playground-option label,.playground-option label strong{color:#d8e5eb!important}
.playground-option label small{color:#e5a17c!important}
.playground-option select,.playground-whatif input{background:#0d3040!important;color:#f4e7b8!important;border:1px solid #8fa5b8!important;border-radius:8px}
.playground-option select option{background:#0d3040;color:#f4e7b8}
.playground-whatif label{color:#d8e5eb}
.playground-whatif input::placeholder{color:#adc8d0}
.playground-panel .secondary-btn{background:#123b4a!important;color:#d8e5eb!important;border:1px solid #99aabb!important}
.playground-panel .secondary-btn:hover{background:#205469!important;color:#fff!important}
.playground-panel .primary-btn{background:#f4be4f!important;color:#172a31!important;border:1px solid #f4be4f!important}
.pg-warning:not(:empty){background:#4b2338!important;color:#ffe0d1!important;border:1px solid #c69a60!important;border-radius:8px;padding:10px 13px}
.pg-extra{border-bottom:1px solid #416a79!important;color:#d8e5eb}
.pg-extra strong{color:#f4be4f!important}
.playground-baseline{border-color:#c69a60!important}
.playground-baseline a.secondary-btn{display:inline-block;margin-top:12px}
@media(max-width:750px){.playground-panel{padding:17px}.playground-summary>div{padding:14px}}

/* Accessibility baseline: respect reduced-motion preferences, including smooth scrolling. */
@media (prefers-reduced-motion: reduce){
  html:focus-within{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Accessibility: skip repetitive navigation with the keyboard. */
.skip-link{position:fixed;z-index:9999;top:10px;left:12px;transform:translateY(-160%);padding:12px 16px;background:#f4be4f;color:#071f2b!important;border:2px solid #071f2b;border-radius:8px;font-weight:700;text-decoration:none}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:3px solid #d8e5eb!important;outline-offset:2px}
#main-content:focus{outline:none}

/* Design Atlas sign-in / account creation: dark, readable, keyboard accessible. */
.auth-shell{background:radial-gradient(circle at 18% 8%,#12485a 0%,#071f2b 56%,#081825 100%)!important;color:#d8e5eb}
.auth-card{background:#103847!important;color:#d8e5eb!important;border:1px solid #c69a60!important;border-radius:16px;box-shadow:0 24px 58px #00111dcc,inset 0 1px 0 #d8e5eb29}
.auth-card .brand-wordmark{color:#d8e5eb!important}
.auth-card .brand-wordmark span{color:#f4be4f!important}
.auth-card .eyebrow{color:#f5c9aa!important}
.auth-card h1{color:#f4e7b8!important}
.auth-card .page-subtitle{color:#d8e5eb!important;line-height:1.6}
.auth-card a:not(.brand){color:#f5c9aa!important;text-decoration:underline;text-underline-offset:3px}
.auth-card a:not(.brand):hover{color:#fff1dc!important}
.auth-form label{color:#d8e5eb!important;font-size:14px}
.auth-form input{background:#092936!important;border:1px solid #a9bccb!important;color:#fff1dc!important;border-radius:9px;min-height:46px}
.auth-form input:focus-visible,.auth-card a:focus-visible,.auth-form button:focus-visible{outline:3px solid #f4be4f!important;outline-offset:3px}
.auth-form button.primary-btn{background:#f4be4f!important;border:1px solid #f4be4f!important;color:#172a31!important;min-height:46px;font-weight:700}
.auth-error{background:#4b2338!important;border:1px solid #e5a17c;color:#ffe0d1!important;line-height:1.5}
.auth-disclaimer{color:#c4d4e2!important;font-size:12px;line-height:1.6}
@media(max-width:500px){.auth-card{padding:23px!important}}

/* Beta onboarding: high-contrast New Journey modal and empty account state. */
.trip-dialog .trip-form input{
 background:#092936!important;color:#fff1dc!important;border:1px solid #a9bccb!important;
 min-height:46px;caret-color:#f4be4f;
}
.trip-dialog .trip-form input::placeholder{color:#b8cdd5!important;opacity:1}
.trip-dialog .trip-form input:focus-visible{outline:3px solid #f4be4f!important;outline-offset:3px}
.trip-dialog .trip-form label{color:#d8e5eb!important}
.trip-dialog .dialog-description{color:#d8e5eb!important}
.trip-dialog .dialog-heading h2{color:#f4e7b8!important}
.trip-dialog .close-btn{color:#d8e5eb!important}
.empty-state{background:#103847!important;color:#d8e5eb!important;border:1px solid #8296ab!important}
.empty-state h3{color:#f4e7b8!important}
.empty-state p{color:#d8e5eb!important}
.empty-state .empty-symbol{color:#e5a17c!important}
.empty-state .primary-btn{background:#f4be4f!important;color:#172a31!important;border-color:#f4be4f!important}
