/* =====================================================
   B-ATLAS PROTOTYPE v3
   LAYOUT CSS
===================================================== */


* {
    box-sizing: border-box;
}


html,
body {

    margin: 0;

    padding: 0;

    height: 100%;

    font-family: Arial, Helvetica, sans-serif;

    background: #f3f5f7;

    color: #222;

}


/* =====================================================
   HEADER
===================================================== */

/* ==========================================
   B-ATLAS HEADER
========================================== */

.site-header {

    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 90px;

    background: white;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 30px;

    box-sizing: border-box;

    z-index: 1000;

    border-bottom: 1px solid #d1d5db;
}


/* Logo area */

.header-logo {

    height: 100%;
    display: flex;
    align-items: center;

}


.header-logo img {

    height: 75px;
    width: auto;

    object-fit: contain;

}



/* Navigation */

.top-nav {

    display: flex;

    gap: 25px;

    align-items: center;

}


.top-nav a {

    text-decoration: none;

    color: #1e3a8a;

    font-weight: 600;

    font-size: 16px;

}


.top-nav a:hover {

    color: #2563eb;

}



/* Push application below fixed header */




/* =====================================================
   MAIN TWO-COLUMN FRAME
===================================================== */

.app-layout {

    display:grid;

    grid-template-columns:300px 1fr;

    height:calc(100vh - 90px);

    padding-top:110px;

}



/* =====================================================
   SEARCH PANEL
===================================================== */


.search-panel {

    background: white;

    padding: 20px;

    border-right: 1px solid #ccc;

    height: calc(100vh - 90px);

    overflow-y: auto;

}


.search-panel h2 {

    margin-top:0;

    color:#0b5fa5;

}


.filter-section {

    margin-bottom:20px;

}


.filter-section h3 {

    margin-bottom:8px;

    font-size:15px;

}



.filter-section label {

    display:block;

    margin-bottom:8px;

    font-size:14px;

}

/* Align checkboxes to the right and inline with their labels */
.filter-section label:has(input[type="checkbox"]) {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.filter-section input[type="checkbox"] {
    width: auto;
    margin: 0;
    cursor: pointer;
}


input,
select {

    width:100%;

    padding:8px;

    border:1px solid #bbb;

    border-radius:4px;

}


.search-buttons {

    display:flex;

    gap:10px;

}



button {

    background:#0b5fa5;

    color:white;

    border:none;

    padding:10px 15px;

    border-radius:5px;

    cursor:pointer;

    font-weight:bold;

}


button:hover {

    opacity:.85;

}

button:disabled {
    background: #cbd5e1;
    color: #64748b;
    cursor: not-allowed;
    opacity: 1;
}





/* =====================================================
   RESULTS AREA
===================================================== */


.results-area {

    padding:20px;

    overflow-y:auto;

    height:calc(100vh - 90px);

}



.results-header h2 {

    margin-top:0;

}





/* =====================================================
   BOAT GRID
===================================================== */


.boat-grid {

    display:grid;

    grid-template-columns:

        repeat(4, minmax(250px,1fr));

    gap:20px;

}





/* =====================================================
   BOAT CARDS
===================================================== */


.boat-card {

    background:white;

    border-radius:10px;

    padding:15px;

    box-shadow:

        0 2px 8px rgba(0,0,0,.15);

}



.boat-card h2 {

    color:#0b5fa5;

    font-size:20px;

    margin-top:10px;

}



.boat-image {

    width:100%;

    height:180px;

    object-fit:cover;

    border-radius:6px;

}



.boat-card p {

    font-size:14px;

    line-height:1.45;

}



.details-button {

    width:100%;

    margin-top:10px;

}

.boat-card-buttons {
    display: flex;
    gap: 4px;
    margin-top: 10px;
}

.boat-card-buttons .details-button {
    margin-top: 0;
    flex: 1;
    font-size: 11px;
    padding: 8px 4px;
    text-align: center;
    white-space: nowrap;
    letter-spacing: -0.3px;
}





/* =====================================================
   MODAL
===================================================== */


.modal {

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.6);

    z-index:5000;

}



.modal-content {

    background:white;

    width:80%;

    max-width:900px;

    max-height:85vh;

    overflow-y:auto;

    margin:50px auto;

    padding:30px;

    border-radius:10px;

    position:relative;

}



.modal-close {

    position:absolute;

    right:15px;

    top:15px;

    border-radius:50%;

    width:35px;

    height:35px;

    background:#333;

}



.modal-image {

    width:100%;

    max-height:350px;

    object-fit:cover;

}



.modal-section {

    margin-top:20px;

    border-bottom:1px solid #ddd;

    padding-bottom:15px;

}



.modal-section h3 {

    color:#0b5fa5;

}





/* =====================================================
   RESPONSIVE
===================================================== */


@media(max-width:1400px) {


    .boat-grid {

        grid-template-columns:

            repeat(3,1fr);

    }


}



@media(max-width:1000px) {


    .app-layout {

        grid-template-columns:

            260px 1fr;

    }


    .boat-grid {

        grid-template-columns:

            repeat(2,1fr);

    }


}



@media(max-width:700px) {


    .app-layout {

        display:block;

    }


    .search-panel {

        height:auto;

    }


    .results-area {

        height:auto;

    }


    .boat-grid {

        grid-template-columns:

            1fr;

    }


}


/* =====================================================
   COLLAPSIBLE FILTER GROUPS
===================================================== */

.filter-group {
    margin-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
}

.filter-header {
    width: 100%;
    background: none;
    border: none;
    padding: 10px 0;
    text-align: left;
    font-size: 15px;
    font-weight: 700;
    color: #0b5fa5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    outline: none;
    font-family: inherit;
    transition: color 0.2s ease;
}

.filter-header:hover {
    color: #1e3a8a;
}

.arrow-icon {
    font-size: 10px;
    color: #94a3b8;
    transition: transform 0.2s ease;
    display: inline-block;
}

/* Expanded/Active State */
.filter-group.active .arrow-icon {
    transform: rotate(180deg);
}

.filter-content {
    display: none;
    padding-top: 4px;
    padding-bottom: 12px;
}

.filter-group.active .filter-content {
    display: block;
}

/* Adjustments for nested filter-sections */
.filter-group .filter-section {
    margin-bottom: 8px;
}

.filter-group .filter-section h3 {
    display: none; /* Hide internal headers since we have the group header */
}

.filter-group .filter-section h3.show-header {
    display: block;
    margin-top: 12px;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: bold;
    color: #0b5fa5;
}

/* =====================================================
   MISSION TEMPLATE DROPDOWN
===================================================== */
.mission-template-container {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #ccc;
}

.mission-template-container label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 14px;
    color: #0b5fa5;
}

#missionTemplateSelect {
    width: 100%;
    padding: 8px;
    border: 1px solid #0b5fa5;
    border-radius: 4px;
    background-color: #f0f7ff;
    font-weight: bold;
    color: #1e3a8a;
    cursor: pointer;
}

/* =====================================================
   BOAT RELATIONSHIP STATUS DROPDOWN
   ===================================================== */
.boat-status-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 14px;
}

.boat-status-container label {
    font-weight: bold;
    color: #444;
}

.boat-status-select {
    padding: 4px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    background-color: #fff;
    cursor: pointer;
    min-width: 120px;
}

/* Status-specific background colors (subtle) */
.boat-status-select.status-none {
    background-color: #f1f5f9; /* Light Gray */
}

.boat-status-select.status-candidate {
    background-color: #dbeafe; /* Light Blue */
}

.boat-status-select.status-research {
    background-color: #ffedd5; /* Light Orange */
}

.boat-status-select.status-favorite {
    background-color: #dcfce7; /* Light Green */
}

.boat-status-select.status-rejected {
    background-color: #fee2e2; /* Light Red */
}

/* Decision Summary Section styling */
.decision-summary-section {
    margin-top: 15px;
    margin-bottom: 15px;
}

.decision-summary-divider {
    border: 0;
    border-top: 1px solid #e2e8f0;
    margin: 12px 0;
}

.decision-summary-heading {
    font-size: 16px;
    color: #1e3a8a;
    margin-top: 0;
    margin-bottom: 12px;
    font-weight: bold;
}

.decision-summary-row {
    font-size: 14px;
    margin-bottom: 8px;
    line-height: 1.4;
    word-break: break-word;
}

.decision-summary-row strong {
    color: #475569;
}

/* =====================================================
   COMPARE BOATS WORKSPACE
===================================================== */
.floating-compare-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 4000;
    background-color: #0b5fa5;
    color: white;
    padding: 15px 25px;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 50px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    cursor: pointer;
    transition: all 0.2s ease;
    display: none; /* hidden by default */
}

.floating-compare-btn:hover {
    background-color: #094c84;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.35);
}

.compare-btn.selected {
    background-color: #ef4444 !important; /* soft red or different highlight color for clarity when selected */
    color: white !important;
}

/* Comparison table inside comparison modal */
.modal-content.compare-modal-content {
    max-width: 1200px;
    width: 95%;
}

.comparison-table-wrapper {
    overflow-x: auto;
    margin-top: 20px;
}

.comparison-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    text-align: left;
}

.comparison-table th, .comparison-table td {
    padding: 12px;
    border: 1px solid #ddd;
    vertical-align: top;
    min-width: 180px;
    max-width: 250px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.comparison-table th:first-child, .comparison-table td:first-child {
    font-weight: bold;
    background-color: #f8fafc;
    color: #1e293b;
    position: sticky;
    left: 0;
    z-index: 10;
    min-width: 160px;
    max-width: 180px;
}

.comparison-table tr:nth-child(even) {
    background-color: #f8fafc;
}

.comparison-header-card {
    text-align: center;
    position: relative;
    padding: 10px;
}

.comparison-header-card img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 8px;
}

.comparison-header-card h4 {
    margin: 5px 0;
    font-size: 15px;
    color: #0b5fa5;
}

.comparison-header-card .remove-compare-btn {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #ef4444;
    color: white;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.comparison-header-card .remove-compare-btn:hover {
    background: #dc2626;
}

.comparison-notes-summary {
    max-height: 100px;
    overflow-y: auto;
    font-size: 12px;
    background: #f1f5f9;
    padding: 6px;
    border-radius: 4px;
    margin-top: 4px;
    white-space: pre-wrap;
}

.workspace-status-btn {
    width: 100%;
    text-align: left;
    background: #f1f5f9;
    color: #1e293b;
    border: 1px solid #cbd5e1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    margin-bottom: 8px;
}

.workspace-status-btn:last-child {
    margin-bottom: 0;
}

/* =====================================================
   KNOWLEDGE CARD
===================================================== */

.knowledge-card-state {
    display: grid;
    gap: 16px;
}

.knowledge-status-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.knowledge-status-row > div {
    display: grid;
    gap: 4px;
}

.knowledge-meta {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 0.9em;
}

.knowledge-confidence {
    flex: 0 0 auto;
    padding: 5px 9px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    font-size: 0.85em;
    font-weight: bold;
}

.knowledge-confidence-high {
    background: #ecfdf5;
    border-color: #a7f3d0;
}

.knowledge-confidence-medium {
    background: #fffbeb;
    border-color: #fde68a;
}

.knowledge-confidence-low,
.knowledge-confidence-unknown {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.knowledge-subsection h4 {
    margin: 0 0 8px;
    color: #334155;
}

.knowledge-available-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
}

.knowledge-available-item {
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f8fafc;
}

.knowledge-available-item span {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 0.9em;
}

.knowledge-list {
    margin: 0;
    padding-left: 20px;
}

.knowledge-list li {
    margin-bottom: 8px;
}

.knowledge-missing-list li span {
    display: block;
    margin-top: 3px;
}

.knowledge-empty {
    padding: 10px;
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    color: #64748b;
    background: #f8fafc;
}

.knowledge-action {
    padding: 12px;
    border-left: 4px solid #0b5fa5;
    background: #eff6ff;
}

.knowledge-action strong,
.knowledge-action span {
    display: block;
}

.knowledge-action span {
    margin-top: 4px;
}

.knowledge-card-unstarted p,
.knowledge-card-error p {
    margin: 0;
}

@media(max-width:700px) {
    .knowledge-status-row {
        display: grid;
    }

    .knowledge-confidence {
        justify-self: start;
    }
}

/* Knowledge Card curated resource links */
.knowledge-resource-groups {
    display: grid;
    gap: 14px;
}

.knowledge-resource-group h5 {
    margin: 0 0 6px;
    color: #334155;
    font-size: 0.95rem;
}

.knowledge-resource-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 7px;
}

.knowledge-resource-list li {
    padding: 9px 10px;
    border: 1px solid #dbe3ea;
    border-radius: 5px;
    background: #f8fafc;
}

.knowledge-resource-list a {
    display: block;
    font-weight: 600;
    color: #1d4f7a;
    text-decoration: none;
}

.knowledge-resource-list a:hover,
.knowledge-resource-list a:focus {
    text-decoration: underline;
}

/* Prototype v5.2 workflow refinements */
.search-profile-buttons { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.search-profile-buttons button { padding:8px 12px; font-size:14px; }
.search-profile-buttons .danger-button { grid-column:span 2; background:#dc2626; }
.profile-description { margin:0 0 12px; font-size:12px; line-height:1.4; color:#64748b; }
.advanced-search-heading { margin:18px 0 8px; font-size:14px; text-transform:uppercase; color:#64748b; }
.primary-search-actions { margin:12px 0 18px; }
.card-fit-summary p { margin:7px 0; }
.unknown-data { color:#64748b; }

/* Session A: full reference-boat specification presentation */
.knowledge-specification-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
}

.knowledge-specification-grid .knowledge-available-item {
    align-items: flex-start;
    min-height: 58px;
}


.crew-guidance-note { font-size: 12px; color: #64748b; padding: 8px; background: #f8fafc; border-radius: 4px; }
#crewNeedsNotes { width: 100%; resize: vertical; }
.notebook-link-list { margin: 0; padding-left: 18px; }
.notebook-link-list li { margin-bottom: 8px; }
.notebook-link-list span { display: block; color: #64748b; font-size: 12px; }


/* =====================================================
   STAGE C — SEARCH PROFILE SUMMARY
===================================================== */
.search-profile-summary { margin:10px 0 14px; padding:10px 12px; border:1px solid #cbd5e1; border-radius:6px; background:#f8fafc; font-size:13px; line-height:1.45; }
.search-profile-summary strong { display:block; margin-bottom:4px; color:#1e3a8a; }
.search-profile-summary span { display:block; color:#475569; }
.search-profile-summary .profile-summary-item { margin-top:3px; }

/* =====================================================
   SESSION D — DECISION WORKSPACE
===================================================== */

.workspace-primary-btn {
    width: 100%;
    margin-top: 12px;
    padding: 11px 14px;
    border: 0;
    border-radius: 5px;
    background: #0b5fa5;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}

.workspace-primary-btn:hover { background: #084b82; }

.decision-workspace-modal-content {
    width: min(1180px, 94vw);
    max-width: 1180px;
}

.decision-workspace-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 14px;
}

.decision-workspace-header h2 { margin-bottom: 3px; }
.decision-workspace-header p { margin: 0; color: #64748b; }

.decision-workspace-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.decision-filter-btn {
    width: auto;
    padding: 7px 12px;
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #cbd5e1;
}

.decision-filter-btn.active {
    background: #0b5fa5;
    color: #fff;
    border-color: #0b5fa5;
}

.decision-workspace-layout {
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(260px, 0.8fr);
    gap: 18px;
    align-items: start;
}

.decision-workspace-table-wrapper { overflow-x: auto; }

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

.decision-workspace-table th,
.decision-workspace-table td {
    padding: 10px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: middle;
}

.decision-workspace-table th {
    background: #f8fafc;
    color: #475569;
    white-space: nowrap;
}

.decision-workspace-table tr.selected td { background: #eff6ff; }

.workspace-boat-link {
    width: auto;
    padding: 0;
    background: transparent;
    color: #0b5fa5;
    text-align: left;
    font-weight: bold;
}

.workspace-status-select { min-width: 115px; }

.workspace-notebook-btn {
    width: auto;
    padding: 6px 9px;
    background: #475569;
}

.decision-workspace-empty {
    padding: 28px !important;
    text-align: center !important;
    color: #64748b;
}

.decision-timeline-panel {
    position: sticky;
    top: 0;
    padding: 14px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #f8fafc;
}

.decision-timeline-panel h3,
.decision-timeline-panel h4 { margin-top: 0; }

.decision-timeline-list {
    margin: 12px 0 0;
    padding-left: 18px;
}

.decision-timeline-list li {
    margin-bottom: 14px;
    padding-left: 4px;
}

.decision-timeline-list strong,
.decision-timeline-list span,
.decision-timeline-list time { display: block; }

.decision-timeline-list span {
    margin-top: 3px;
    color: #475569;
    font-size: 13px;
}

.decision-timeline-list time {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}

@media (max-width: 900px) {
    .decision-workspace-layout { grid-template-columns: 1fr; }
    .decision-timeline-panel { position: static; }
    .decision-workspace-header { flex-direction: column; }
}

/* =====================================================
   COMMUNITY PREVIEW HEADER AND BOAT KNOWLEDGE
===================================================== */
.site-header {
    height: 82px;
    padding: 0 28px;
    border-bottom: 3px solid #1769aa;
    box-shadow: 0 3px 12px rgba(15, 42, 70, 0.10);
}

.header-logo {
    min-width: 0;
    max-width: 630px;
}

.header-logo img {
    display: block;
    width: min(560px, 54vw);
    height: 68px;
    object-fit: contain;
    object-position: left center;
}

.top-nav {
    gap: 0;
}

.top-nav a {
    padding: 8px 18px;
    border-left: 1px solid #d7e1eb;
    color: #0b3157;
    font-size: 14px;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.top-nav a:first-child {
    border-left: 0;
}

.app-layout {
    height: calc(100vh - 82px);
    padding-top: 100px;
}

.search-panel {
    height: calc(100vh - 82px);
}

.boat-knowledge-overview {
    background: linear-gradient(135deg, #f5f9fd 0%, #eef5fb 100%);
    border: 1px solid #cbddeb;
    border-left: 5px solid #1769aa;
}

.boat-knowledge-overview h3,
.knowledge-card-feature > h3 {
    color: #0b4f82;
    margin-top: 0;
}

.buyer-intelligence-classification {
    color: #0b3157;
    font-size: 1.2rem;
    font-weight: 750;
    margin-bottom: 8px;
}

.buyer-intelligence-summary p {
    font-size: 1rem;
    line-height: 1.55;
    margin: 0 0 14px;
}

.buyer-intelligence-confidence,
.buyer-intelligence-support {
    display: grid;
    gap: 4px;
    padding-top: 10px;
    border-top: 1px solid #d6e3ee;
    color: #41576b;
}

.buyer-intelligence-support {
    margin-top: 10px;
}

.knowledge-card-feature {
    border: 0;
    padding: 0;
    background: transparent;
}

#boatModal .modal-content {
    max-width: 980px;
}

@media (max-width: 850px) {
    .site-header {
        padding: 0 14px;
    }
    .header-logo img {
        width: min(470px, 62vw);
    }
    .top-nav a {
        padding: 8px 9px;
        font-size: 11px;
    }
}

/* =====================================================
   V6.1 TAXONOMY AND FEATURE SEARCH
===================================================== */
.compact-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 12px;
}
.compact-option-grid label { margin: 0; line-height: 1.3; }
.taxonomy-section + .taxonomy-section { border-top: 1px solid #e3e8ef; padding-top: 13px; }
.feature-priority-list { display: grid; gap: 8px; }
.feature-priority-row { display: grid; grid-template-columns: minmax(0, 1fr) 118px; gap: 10px; align-items: center; }
.feature-priority-row span { font-size: 13px; }
.feature-priority-row select { width: 100%; font-size: 12px; padding: 5px; }
.feature-match-summary { margin: 10px 0; padding: 9px 11px; background: #edf7f1; border-left: 3px solid #287a4b; font-size: 13px; }
.feature-match-unknown { background: #f5f6f8; border-left-color: #7c8796; }
@media (max-width: 700px) {
    .compact-option-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   v6.12 BOAT WORKSPACE INFORMATION ARCHITECTURE
===================================================== */
.boat-workspace-modal-content { max-width: 1180px; width: 96%; max-height:94vh; padding:0; overflow:hidden; display:flex; flex-direction:column; }
.boat-workspace-header { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:26px 34px 20px; border-bottom:1px solid #e2e8f0; }
.workspace-eyebrow,.workspace-label { margin:0 0 5px; color:#64748b; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.boat-workspace-header h2 { margin:0; }
.workspace-subtitle { margin:6px 0 0; color:#64748b; }
.workspace-boat-image { width:150px; height:92px; object-fit:cover; margin:0; border-radius:8px; }
.boat-workspace-tabs { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:0; overflow:visible; flex:0 0 auto; padding:0 18px; border-bottom:1px solid #cbd5e1; background:#f8fafc; }
.boat-workspace-tab { min-width:0; background:transparent; color:#475569; border:0; border-bottom:3px solid transparent; border-radius:0; padding:12px 7px 10px; white-space:normal; line-height:1.2; font-size:12px; font-weight:600; }
.boat-workspace-tab:hover { background:#eef2f7; }
.boat-workspace-tab.active { color:#0f4c81; border-bottom-color:#0f4c81; background:#fff; }
.boat-workspace-tab:focus-visible { outline:3px solid rgba(15,76,129,.28); outline-offset:-3px; position:relative; z-index:1; }
.boat-workspace-panel { display:none; padding:26px 34px 34px; min-height:0; overflow-y:auto; background:#f8fafc; }
.boat-workspace-panel.active { display:block; flex:1 1 auto; }
.workspace-status-message { min-height:0; padding:0 34px; color:#475569; background:#fff; }
.workspace-status-message:not(:empty) { padding-top:9px; padding-bottom:9px; border-bottom:1px solid #e2e8f0; }
.workspace-overview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.workspace-section-stack { display:grid; gap:18px; }
.workspace-card { background:#fff; border:1px solid #dbe3ec; border-radius:10px; padding:20px; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.workspace-card h3 { margin:0 0 14px; color:#1e293b; }
.workspace-card h4 { margin:0 0 8px; }
.workspace-decision-card,.workspace-coverage-summary { grid-column:1/-1; }
.workspace-score-row { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:8px 0 10px; }
.workspace-score-row strong { font-size:28px; }
.workspace-score-row span { padding:5px 9px; border-radius:999px; background:#e2e8f0; }
.workspace-fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.workspace-fact { display:flex; flex-direction:column; gap:3px; padding:10px; background:#f8fafc; border-radius:7px; min-width:0; }
.workspace-fact strong { color:#475569; font-size:12px; text-transform:uppercase; }
.workspace-fact span { overflow-wrap:anywhere; }
.workspace-list { margin:0; padding-left:20px; }
.workspace-list li { margin-bottom:7px; }
.workspace-empty,.workspace-note { color:#64748b; font-style:italic; }
.workspace-three-column { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.workspace-resource-list { list-style:none; margin:0; padding:0; }
.workspace-resource-list li { padding:12px 0; border-bottom:1px solid #e2e8f0; }
.workspace-resource-list li:last-child { border-bottom:0; }
.workspace-resource-list span { display:block; margin-top:3px; color:#64748b; font-size:13px; }
.workspace-resource-list p { margin:7px 0 0; }
.workspace-fact-table { display:grid; border:1px solid #e2e8f0; border-radius:7px; overflow:hidden; }
.workspace-fact-table>div { display:grid; grid-template-columns:1.2fr 1fr .8fr; gap:12px; padding:9px 12px; border-bottom:1px solid #e2e8f0; }
.workspace-fact-table>div:last-child { border-bottom:0; }
.workspace-fact-table-head { font-weight:700; background:#f1f5f9; }
.workspace-progress-line { height:8px; background:#e2e8f0; border-radius:999px; overflow:hidden; margin:8px 0; }
.workspace-progress-line span { display:block; height:100%; background:#2563eb; border-radius:inherit; }
.workspace-progress-hero>strong { font-size:38px; }
.workspace-coverage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.workspace-coverage-grid>div>div:first-child { display:flex; justify-content:space-between; }
.workspace-coverage-grid small { color:#64748b; }
.workspace-notebook-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.workspace-notebook-grid label,.workspace-field-label { display:flex; flex-direction:column; gap:7px; font-weight:700; }
.boat-workspace-panel textarea,.boat-workspace-panel input,.boat-workspace-panel select { width:100%; padding:10px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; }
.workspace-form-actions { position:sticky; bottom:-34px; z-index:4; display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0 -34px -34px; padding:14px 34px; border-top:1px solid #cbd5e1; background:rgba(255,255,255,.97); box-shadow:0 -4px 12px rgba(15,23,42,.08); }
.workspace-secondary-action { background:#475569; }
.workspace-notebook-separation { border-left:4px solid #64748b; }
.field-help { color:#64748b; font-size:13px; }
@media (max-width:850px) {
 .workspace-overview-grid,.workspace-three-column,.workspace-coverage-grid { grid-template-columns:1fr; }
 .workspace-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .workspace-boat-image { display:none!important; }
 .boat-workspace-header { padding-right:48px; }
}
.my-boats-listings-panel { margin:18px 0; padding:18px; border:1px solid #dbe3ec; border-radius:9px; background:#f8fafc; }
.my-boats-listings-header h3,.saved-models-heading h3 { margin:0 0 4px; }
.my-boats-listings-header p,.saved-models-heading p { margin:0; color:#64748b; }
.my-boats-listings { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-top:14px; }
.my-boats-listing-card { display:flex; justify-content:space-between; gap:14px; padding:14px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; }
.my-boats-listing-card h4 { margin:3px 0; }
.my-boats-listing-card p { margin:0; color:#64748b; font-size:13px; }
.listing-source { color:#64748b; font-size:12px; text-transform:uppercase; }
.listing-card-actions { display:flex; flex-direction:column; gap:8px; align-items:flex-end; justify-content:center; }
.listing-card-actions a,.listing-card-actions button { white-space:nowrap; font-size:13px; }
.saved-models-heading { margin:20px 0 10px; }

/* =====================================================
   v6.13 FIRST-CLASS LISTINGS AND LISTING WORKSPACE
===================================================== */
.my-boats-model-group { border:1px solid #d7dee7; border-radius:12px; background:#fff; overflow:hidden; }
.my-boats-model-group > header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 18px; background:#f7f9fb; border-bottom:1px solid #e3e8ee; }
.my-boats-model-group h4, .my-boats-model-group h5 { margin:0; }
.listing-count { font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:#64748b; }
.my-boats-model-listings, .workspace-listings-list { display:grid; gap:10px; padding:14px; }
.workspace-listing-card { display:flex; justify-content:space-between; gap:18px; align-items:center; border:1px solid #dbe2ea; border-radius:10px; padding:14px; background:#fff; }
.workspace-listing-card h4 { margin:3px 0 5px; }
.workspace-listing-card p { margin:0; color:#566273; }
.workspace-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.listing-workspace-modal-content { width:min(1120px,95vw); max-height:92vh; overflow:auto; }
.listing-workspace-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:18px; }
.listing-workspace-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.listing-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.listing-form-grid label, .listing-workspace-grid label { display:grid; gap:5px; font-weight:600; }
.listing-form-grid input, .listing-form-grid select, .listing-workspace-grid textarea, .listing-workspace-grid input { width:100%; padding:9px; border:1px solid #b9c3cf; border-radius:6px; font:inherit; }
.danger-action { background:#8f2633; }
.legacy-listing-compatibility { opacity:.72; border-left:4px solid #cbd5e1; padding-left:12px; }
@media (max-width:850px) {
  .listing-workspace-grid, .listing-form-grid { grid-template-columns:1fr; }
  .workspace-listing-card, .my-boats-model-group > header, .listing-workspace-header { align-items:stretch; flex-direction:column; }
}


/* =====================================================
   LISTING LIFECYCLE — v6.14
===================================================== */
.listing-lifecycle-summary { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.listing-lifecycle-summary span { padding:8px 11px; border:1px solid #dbe3ec; border-radius:999px; background:#fff; color:#475569; font-size:13px; }
.listing-lifecycle-summary strong { color:#0f172a; margin-right:3px; }
.listing-lifecycle-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.listing-filter-btn { border:1px solid #cbd5e1; background:#fff; color:#334155; border-radius:7px; padding:7px 11px; cursor:pointer; }
.listing-filter-btn:hover, .listing-filter-btn.active { background:#e8f0f7; border-color:#94a3b8; color:#0f172a; }
.workspace-boat-link { text-decoration:underline; text-underline-offset:3px; cursor:pointer; }

/* =====================================================
   MODEL KNOWLEDGE UX — v6.34
===================================================== */
.model-knowledge-summary {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid #d7e2ec;
    border-left: 4px solid #0b5fa5;
    border-radius: 8px;
    background: #f8fbfe;
}

.model-knowledge-summary-compact {
    margin: 12px 0;
    padding: 11px 12px;
}

.model-knowledge-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    color: #16324a;
}

.model-knowledge-confidence {
    flex: 0 0 auto;
    padding: 3px 7px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: white;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
}

.model-knowledge-confidence-high { background: #ecfdf5; border-color: #a7f3d0; }
.model-knowledge-confidence-medium { background: #fffbeb; border-color: #fde68a; }
.model-knowledge-confidence-low { background: #fff7ed; border-color: #fed7aa; }

.model-knowledge-verdict {
    margin: 8px 0 0;
    color: #334155;
}

.model-knowledge-group {
    margin-top: 12px;
}

.model-knowledge-group ul {
    margin: 6px 0 0;
    padding-left: 20px;
}

.model-knowledge-group li {
    margin-bottom: 5px;
}

.model-knowledge-positive li::marker { color: #15803d; }
.model-knowledge-caution li::marker { color: #b45309; }
.model-knowledge-inspection li::marker { color: #0b5fa5; }

@media (max-width: 700px) {
    .model-knowledge-heading { align-items: flex-start; }
    .model-knowledge-confidence { white-space: nowrap; }
}

/* v6.36 Boat Intelligence Decision Summary */
.model-knowledge-verdict-row { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.model-knowledge-eyebrow { display:block; margin-bottom:.3rem; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#64748b; }
.model-knowledge-verdict-level { display:inline-block; font-size:1.12rem; line-height:1.2; }
.model-knowledge-verdict-recommended { color:#166534; }
.model-knowledge-verdict-worth-investigating { color:#1d4ed8; }
.model-knowledge-verdict-proceed-carefully { color:#9a3412; }
.model-knowledge-verdict-specialist-choice { color:#6b21a8; }
.model-knowledge-verdict-insufficient-knowledge { color:#475569; }
.model-knowledge-decision-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.model-mission-badges { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.55rem; }
.model-mission-badges span { display:inline-flex; padding:.28rem .58rem; border-radius:999px; background:#e8eef3; color:#27445a; font-size:.78rem; font-weight:650; }
.model-ownership-complexity > div { margin-top:.5rem; }
.model-ownership-complexity p, .model-confidence-basis p { margin:.45rem 0 0; }
.ownership-complexity { display:inline-flex; padding:.28rem .58rem; border-radius:999px; font-size:.78rem; font-weight:700; }
.ownership-complexity-easy { background:#dcfce7; color:#166534; }
.ownership-complexity-moderate { background:#fef9c3; color:#854d0e; }
.ownership-complexity-advanced { background:#ffedd5; color:#9a3412; }
.ownership-complexity-enthusiast { background:#fee2e2; color:#991b1b; }
.ownership-complexity-unknown { background:#e2e8f0; color:#475569; }
.model-knowledge-empty { color:#64748b; font-style:italic; margin:.5rem 0 0; }
@media (max-width:720px) { .model-knowledge-decision-grid { grid-template-columns:1fr; } .model-knowledge-verdict-row { flex-direction:column; } }


/* v6.37 Broker Discovery UI */
.broker-discovery-note { margin:.45rem 0 .8rem; color:#64748b; font-size:.9rem; }
.broker-availability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin:.7rem 0 1rem; }
.broker-availability-grid > div { display:flex; justify-content:space-between; align-items:center; gap:.5rem; padding:.55rem .65rem; border:1px solid #dbe3ea; border-radius:.55rem; background:#f8fafc; }
.broker-availability-grid span { color:#475569; font-size:.82rem; }
.broker-availability { font-size:.78rem; padding:.18rem .45rem; border-radius:999px; background:#e2e8f0; color:#334155; white-space:nowrap; }
.broker-availability-common { background:#dcfce7; color:#166534; }
.broker-availability-occasional { background:#dbeafe; color:#1d4ed8; }
.broker-availability-rare { background:#ffedd5; color:#9a3412; }
.broker-availability-very-rare { background:#fee2e2; color:#991b1b; }
.broker-discovery-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.broker-discovery-group { border:1px solid #dbe3ea; border-radius:.65rem; padding:.7rem; background:#fff; }
.broker-discovery-group h5 { margin:0 0 .55rem; font-size:.88rem; color:#334155; }
.broker-discovery-links { display:flex; flex-direction:column; gap:.42rem; }
.broker-discovery-links a { display:block; padding:.42rem .5rem; border-radius:.4rem; background:#f1f5f9; color:#0b5fa5; text-decoration:none; font-size:.86rem; }
.broker-discovery-links a:hover { background:#e2e8f0; text-decoration:underline; }
@media (max-width:800px) { .broker-discovery-groups, .broker-availability-grid { grid-template-columns:1fr; } }

/* =====================================================
   v6.38 Navigation & Presentation Polish
===================================================== */
.product-intro {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    margin: 0 0 20px;
    padding: 22px 26px;
    border: 1px solid #cbddeb;
    border-left: 5px solid #1769aa;
    border-radius: 10px;
    background: linear-gradient(135deg, #ffffff 0%, #eef5fb 100%);
}
.product-intro h1 { margin: 2px 0 8px; color: #0b3157; font-size: clamp(24px, 3vw, 36px); }
.product-intro p { margin: 0; max-width: 720px; color: #475569; line-height: 1.55; }
.product-kicker { color: #1769aa !important; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.product-intro-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; min-width: 250px; }
.secondary-action { background: #e8f0f7; color: #0b4f82; border: 1px solid #bdd0df; }
.context-back-button { width: auto; margin: 0 0 14px; padding: 8px 12px; background: transparent; color: #0b4f82; border: 1px solid #bdd0df; }
.context-back-button:hover { background: #eef5fb; }
.site-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; align-items: center; margin-top: 28px; padding: 20px 4px 10px; border-top: 1px solid #cbd5e1; color: #64748b; font-size: 13px; }
.site-footer nav { display: flex; gap: 16px; }
.site-footer a { color: #0b4f82; text-decoration: none; font-weight: 600; }
.information-modal-content { max-width: 760px; }
.information-modal-content h2 { color: #0b3157; font-size: 30px; }
.information-modal-content blockquote { margin: 24px 0; padding: 18px 22px; border-left: 5px solid #1769aa; background: #eef5fb; color: #0b3157; font-size: 20px; font-weight: 700; }
.information-section { margin-top: 24px; }
.information-section li { margin: 8px 0; }
@media (max-width: 900px) {
    .product-intro { align-items: flex-start; flex-direction: column; }
    .product-intro-actions { justify-content: flex-start; min-width: 0; }
    .top-nav a { padding: 8px 9px; font-size: 11px; }
}


/* v6.39 Buy This Boat workspace */
.buy-candidate-listings { border-top:4px solid #0f4c81; }
.buy-find-more-heading { margin:.25rem 0 -.25rem; padding:.25rem .25rem 0; }
.buy-find-more-heading h3 { margin:.15rem 0 .25rem; }
.buy-find-more-heading p { margin:0; color:#64748b; }
@media (max-width:1050px) { .boat-workspace-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); padding:0 12px; } }
@media (max-width:650px) { .boat-workspace-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); } .boat-workspace-header { align-items:flex-start; padding:22px 20px 16px; } .workspace-boat-image { width:112px; height:76px; } .boat-workspace-panel { padding:20px; } }

.buy-this-boat-workspace { max-width: 1120px; margin: 0 auto; }
.buy-market-hero { background: linear-gradient(135deg,#eef6f7,#ffffff); border-color:#b8d3d6; }
.buy-market-hero h3 { margin:.25rem 0 .4rem; font-size:1.65rem; }
.buy-availability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.buy-availability-card { display:flex; flex-direction:column; gap:.2rem; padding:.8rem; border:1px solid #d7e2e5; border-radius:.65rem; background:#fff; }
.buy-availability-card span { color:#52616b; font-size:.82rem; }
.buy-availability-card strong { font-size:1rem; }
.buy-search-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.buy-search-links { display:flex; flex-direction:column; gap:.55rem; }
.buy-search-links a { display:block; padding:.65rem .75rem; border:1px solid #cfdadd; border-radius:.5rem; background:#f8fbfb; text-decoration:none; font-weight:600; }
.buy-search-links a:hover { background:#eaf3f4; }
.buy-search-terms { display:flex; flex-wrap:wrap; gap:.5rem; }
.buy-search-terms span { padding:.4rem .65rem; border-radius:999px; background:#edf2f4; border:1px solid #d6e0e3; }
.buy-coming-soon { opacity:.78; }
.buy-future-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin-top:.7rem; }
.buy-future-grid span { padding:.65rem; border:1px dashed #aebcc1; border-radius:.5rem; text-align:center; background:#f7f9fa; }
@media (max-width:800px) { .buy-availability-grid,.buy-search-grid,.buy-future-grid { grid-template-columns:1fr; } }


/* =====================================================
   v6.40 DEMONSTRATION READINESS POLISH
===================================================== */
.boat-card { display:flex; flex-direction:column; min-width:0; border:1px solid #e1e7ee; box-shadow:0 3px 12px rgba(15,23,42,.09); }
.boat-card img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:8px; background:#eef2f7; }
.boat-card h2 { min-height:2.5em; margin-bottom:8px; line-height:1.25; overflow-wrap:anywhere; }
.boat-card button, .boat-card .button, .boat-card a.button { min-height:40px; }
.workspace-empty, .decision-workspace-empty { margin:0; padding:18px; border:1px dashed #b8c5d3; border-radius:8px; background:#f8fafc; color:#526274; text-align:center; }
.workspace-card p:last-child { margin-bottom:0; }
.site-footer { gap:18px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* =====================================================
   v6.48 Compact primary branding
===================================================== */
.header-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.header-positioning {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-left: 16px;
    border-left: 1px solid #d6e0e8;
    white-space: nowrap;
}

.header-platform {
    color: #1769aa;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.header-tagline {
    color: #334155;
    font-size: 14px;
    font-weight: 600;
}

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

.results-header h2 {
    margin: 0 0 3px;
}

.results-principle {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.compact-action {
    width: auto;
    margin: 0;
    padding: 8px 12px;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .header-positioning {
        display: none;
    }
}

@media (max-width: 760px) {
    .site-header {
        height: auto;
        min-height: 78px;
        padding: 8px 16px;
        align-items: flex-start;
        gap: 8px;
    }

    .header-logo img {
        height: 58px;
    }

    .top-nav {
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 4px;
    }

    .app-layout {
        padding-top: 96px;
    }

    .results-header {
        align-items: flex-start;
    }
}

/* v6.50.1 — keep notebook persistence controls visible */
.workspace-form-actions {
    position: sticky;
    bottom: 0;
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 0 4px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 28%);
}
#saveWorkspaceNotebook {
    min-width: 170px;
    font-weight: 700;
}
.workspace-save-state {
    align-self: center;
    color: #475569;
    font-size: 0.92rem;
}
/* v6.54.2 unified profile and knowledge-panel regression repair */
.search-profile-group optgroup { font-weight:700; color:#334155; }
.search-profile-group option { font-weight:400; color:#0f172a; }
.workspace-card:has(> h3:first-child) { min-width:0; }
.workspace-overview-grid .workspace-card { min-height:0; overflow:hidden; }
.workspace-overview-grid .workspace-card .workspace-fact-grid { max-height:42vh; overflow-y:auto; align-content:start; padding-right:4px; }

/* v6.54.4 search-panel and brand refinement */
:root { --bscout-navy:#073b6f; --bscout-blue:#0b67b2; --bscout-light-blue:#dbeafe; --bscout-orange:#f28c18; --bscout-green:#218838; }
.site-header { border-bottom:4px solid var(--bscout-navy); box-shadow:0 2px 8px rgba(15,23,42,.08); }
.site-header::after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--bscout-orange); }
.header-brand { flex:0 1 620px; }
.header-logo img { height:82px; max-width:min(620px,46vw); }
.search-profile-container { display:grid; gap:10px; }
.profile-select-row { display:grid; grid-template-columns:minmax(0,1fr) 88px; gap:8px; align-items:stretch; }
.profile-select-row select, .profile-select-row button { min-height:40px; margin:0; }
.search-profile-buttons { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
#manageProfilesBtn,#newProfileBtn,#saveProfileBtn,#duplicateProfileBtn { background:#5b9bd5; color:#fff; box-shadow:none; }
#manageProfilesBtn:hover,#newProfileBtn:hover,#saveProfileBtn:hover,#duplicateProfileBtn:hover { background:#4388c6; opacity:1; }
#saveProfileBtn:disabled { background:#cbd5e1; color:#64748b; cursor:not-allowed; }
#duplicateProfileBtn { grid-column:auto; }
.primary-search-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0 10px; }
#searchButton { background:var(--bscout-green); font-size:15px; }
#clearButton { background:#fff; color:var(--bscout-navy); border:1px solid #9aa9b8; }
#clearButton::before { content:"↻ "; color:var(--bscout-orange); font-size:18px; }
.sidebar-results-summary { display:flex; align-items:baseline; gap:6px; padding:10px 12px; margin:0 0 10px; border:1px solid #cbd5e1; border-left:4px solid var(--bscout-orange); border-radius:6px; background:#f8fafc; color:#475569; }
.sidebar-results-summary span:first-child { font-weight:700; color:var(--bscout-navy); }
.sidebar-results-summary strong { font-size:20px; color:var(--bscout-blue); }
.sidebar-results-summary small { font-size:12px; }
.temporary-image-filter { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; margin:0 0 16px; border:1px solid #dbe3ec; border-radius:6px; font-size:13px; font-weight:600; }
.temporary-image-filter input { width:auto; order:2; }
.temporary-filter-note { display:none; }
.modal-close { background:var(--bscout-orange); color:#fff; box-shadow:0 2px 5px rgba(0,0,0,.18); }
.modal-close:hover { background:#d97706; opacity:1; }
.context-back-button { background:#e7f0fa; color:var(--bscout-navy); border:1px solid #bfd2e5; }
@media (max-width:760px) { .header-logo img { max-width:72vw; height:64px; } .profile-select-row { grid-template-columns:1fr; } }

/* v6.54.5 focused search-control and header repair */
.site-header {
    height: 86px;
    padding: 0 28px;
    border-bottom: 4px solid var(--bscout-navy);
    background: #fff;
}
.site-header::after { height: 3px; bottom: -4px; }
.header-brand { flex: 1 1 auto; gap: 20px; }
.header-logo { flex: 0 1 460px; max-width: 460px; }
.header-logo img { width: 100%; max-width: 460px; height: 76px; object-fit: contain; object-position: left center; }
.header-positioning { flex: 0 0 auto; padding-left: 20px; border-left: 1px solid #cbd5e1; }
.header-tagline { color: var(--bscout-navy); font-size: 17px; font-weight: 700; font-style: italic; }
.header-tagline em { color: var(--bscout-orange); font-style: italic; }
.top-nav { flex: 0 0 auto; }
.top-nav a { padding: 8px 12px; font-size: 13px; }

.profile-select-row { display: block; margin: 0; }
.profile-select-row select { width: 100%; min-height: 42px; margin: 0; }
.search-profile-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.search-profile-buttons button { width: 100%; min-width: 0; margin: 0; padding: 9px 6px; }
#newProfileBtn, #saveProfileBtn, #duplicateProfileBtn { background: #dbeafe; color: #0b4f8a; border: 1px solid #b8d3ed; }
#newProfileBtn:hover, #saveProfileBtn:hover, #duplicateProfileBtn:hover { background: #c6def6; }

.compact-number-row { display: grid; grid-template-columns: minmax(0, 1fr) 88px; align-items: center; gap: 10px; }
.compact-number-row label { margin: 0; }
.compact-number-row input { width: 88px; margin: 0; text-align: right; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"] { -moz-appearance: textfield; appearance: textfield; }

@media (max-width: 1180px) {
    .header-positioning { display: none; }
    .header-logo { max-width: 420px; }
    .header-logo img { max-width: 420px; }
}
@media (max-width: 760px) {
    .header-logo img { height: 58px; max-width: 72vw; }
    .search-profile-buttons { grid-template-columns: 1fr; }
}

/* v6.54.8 — clear three-level search hierarchy */
.search-section-heading {
    margin: 24px 0 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: .09em;
    font-weight: 850;
    color: #0b5fa5;
    text-transform: uppercase;
}
.filters-heading, .preferences-heading { background: transparent; color: #0b5fa5; }
.search-section-heading + .filter-group { border-top: 0; }
.filter-header { font-size: 16px; font-weight: 750; }
.preference-group .filter-header { color: #0b5fa5; }
.filter-group .filter-section h3.show-header {
    display: block;
    margin: 13px 0 7px;
    font-size: 12.5px;
    line-height: 1.25;
    font-weight: 600;
    font-style: italic;
    text-transform: none;
    letter-spacing: 0;
    color: #475569;
}
.search-input-group { display: grid; grid-template-columns: minmax(0, 1fr) 36px; gap: 7px; }
.search-input-group input { min-width: 0; }
#clearTextSearch { padding: 7px; background: #94a3b8; font-size: 13px; }
.preference-match-summary {
    margin: 10px 0;
    padding: 10px;
    border: 1px solid #f2c38e;
    border-left: 4px solid #d97706;
    border-radius: 6px;
    background: #fff8ed;
}
.preference-score { color: #9a4b08; font-size: 15px; }
.preference-count { margin-top: 2px; color: #334155; font-size: 13px; font-weight: 650; }
.preference-labels { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.preference-labels span {
    padding: 3px 7px;
    border-radius: 999px;
    background: #ffedd5;
    color: #9a3412;
    font-size: 11px;
    font-weight: 700;
}

/* v6.54.8 — consistent inline preference controls */
.crew-preference-list { display: grid; gap: 8px; }
.crew-preference-list .feature-priority-row input,
.crew-preference-list .feature-priority-row select { width: 118px; margin: 0; font-size: 12px; padding: 5px; }
.crew-preference-list .feature-priority-row input { text-align: right; box-sizing: border-box; }


/* =====================================================
   Consolidated from legacy style.css during repository cleanup
===================================================== */
.temporary-image-filter {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.55rem 0 0.9rem;
    font-size: 0.92rem;
}

.temporary-filter-note {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    opacity: 0.65;
}
.profile-select-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-bottom: 10px; }
.profile-select-row select { min-width: 0; }
.profile-manager-modal { position: fixed; inset: 0; z-index: 10000; background: rgba(15, 23, 42, .68); padding: 3vh 3vw; overflow: auto; }
.profile-manager-modal[hidden] { display: none; }
.profile-manager-dialog { max-width: 1040px; margin: 0 auto; background: #fff; border-radius: 14px; box-shadow: 0 24px 70px rgba(0,0,0,.32); overflow: hidden; }
.profile-manager-header { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding: 22px 26px; border-bottom: 1px solid #dbe3ea; }
.profile-manager-header h2, .profile-manager-header p { margin: 0; }
.profile-manager-header p { margin-top: 5px; color: #52616f; }
#closeProfileManagerBtn { font-size: 28px; line-height: 1; padding: 2px 10px; }
.profile-manager-body { padding: 22px 26px 30px; display: grid; gap: 28px; max-height: 78vh; overflow-y: auto; }
.profile-manager-body h3 { margin: 0 0 12px; }
.profile-card-list { display: grid; gap: 10px; }
.profile-manager-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 14px; align-items: center; border: 1px solid #d8e0e7; border-radius: 10px; padding: 14px; }
.profile-card-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: #edf3f6; font-size: 11px; text-transform: uppercase; overflow: hidden; }
.profile-card-title { display: flex; align-items: center; gap: 8px; }
.profile-card-copy p { margin: 4px 0 0; color: #52616f; }
.locked-badge { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; background: #e8eef2; border-radius: 999px; padding: 3px 7px; }
.profile-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.profile-card-actions button { padding: 7px 10px; }
.empty-profile-message { padding: 16px; border: 1px dashed #b8c5cf; border-radius: 10px; color: #52616f; }
@media (max-width: 760px) { .profile-manager-card { grid-template-columns: 38px minmax(0,1fr); } .profile-card-actions { grid-column: 1 / -1; justify-content: flex-start; } }

/* Marketplace Discovery v1 — simple visible layer, detailed search logic behind the curtain */
.market-coverage-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.market-coverage-item{display:grid;grid-template-columns:2.1rem auto;grid-template-rows:auto auto;column-gap:.55rem;align-items:center;padding:.8rem;border:1px solid #d7e2e5;border-radius:.7rem;background:#fff}
.market-coverage-icon{grid-row:1/3;display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#e9f2f3;font-weight:800;font-size:1.05rem}
.market-coverage-item strong{font-size:1.05rem;line-height:1.1}.market-coverage-item>span:last-child{font-size:.78rem;color:#60717a}
.market-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.market-source-group{padding:0;overflow:hidden}.market-group-heading{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#eef5f6;border-bottom:1px solid #d5e1e4}.market-group-heading h3{margin:0}.market-group-heading span{font-size:.78rem;color:#60717a}
.market-source-subgroup{padding:.75rem 1rem}.market-source-subgroup+ .market-source-subgroup{border-top:1px solid #e2e8ea}.market-source-subgroup>strong{display:block;margin-bottom:.45rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#61717a}
.market-source-row{display:grid;grid-template-columns:1.8rem 1fr auto;align-items:center;gap:.45rem;padding:.48rem .25rem;text-decoration:none;border-radius:.4rem}.market-source-row:hover{background:#f1f6f7}.market-source-icon{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:#edf3f4}.market-source-name{font-weight:650;color:#24343a}.market-source-action{font-size:.75rem;color:#0f5f74}
.market-card-title{display:flex;align-items:center;gap:.6rem}.market-card-title>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#e9f2f3;font-weight:800}.market-card-title h3{margin:0}
.market-alias-card summary{display:flex;align-items:center;gap:.65rem;cursor:pointer;list-style:none}.market-alias-card summary::-webkit-details-marker{display:none}.market-alias-card summary>span:first-child{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#edf2f4;font-size:.72rem;font-weight:800}.market-summary-count{margin-left:auto;padding:.15rem .45rem;border-radius:999px;background:#edf2f4;font-size:.75rem}.market-alias-card[open] .buy-search-terms{margin-top:.8rem}
.market-problem-list{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.55rem}.market-problem-list li{display:grid;grid-template-columns:1.55rem 1fr;gap:.5rem;align-items:start}.market-problem-list li>span:first-child{display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#fff3d9;font-weight:800;color:#7d5700}.market-empty-state{display:flex;align-items:center;gap:.65rem;color:#66777f;margin-top:.8rem}.market-empty-state>span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#edf2f4;font-weight:800}.market-empty-state p{margin:0}
@media(max-width:800px){.market-coverage-strip,.market-source-grid{grid-template-columns:1fr}}

/* Marketplace source validation */
.broker-status-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .8rem;
    margin: .45rem 0 .75rem;
    font-size: .76rem;
    color: var(--muted-text, #667085);
}
.broker-discovery-links {
    display: grid;
    gap: .42rem;
}
.broker-source-row {
    display: grid;
    grid-template-columns: 1.65rem minmax(0, 1fr) auto;
    gap: .55rem;
    align-items: center;
    padding: .58rem .65rem;
    border: 1px solid rgba(16,24,40,.12);
    border-radius: .55rem;
    text-decoration: none;
    color: inherit;
    background: rgba(255,255,255,.58);
}
.broker-source-row:hover { border-color: rgba(16,24,40,.28); }
.broker-status-icon {
    display: inline-grid;
    place-items: center;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 50%;
    font-weight: 800;
    background: rgba(102,112,133,.12);
}
.broker-source-row.is-viable .broker-status-icon { background: rgba(18,126,74,.14); color: #127e4a; }
.broker-source-row.is-possible .broker-status-icon { background: rgba(18,126,74,.14); color: #127e4a; }
.broker-source-row.is-empty .broker-status-icon { background: rgba(102,112,133,.12); color: #667085; }
.broker-source-row.is-unresponsive .broker-status-icon { background: rgba(181,71,8,.14); color: #b54708; }
.broker-source-row.is-unknown .broker-status-icon { background: rgba(47,84,235,.12); color: #2f54eb; }
.broker-source-copy { min-width: 0; display: grid; gap: .08rem; }
.broker-source-name { font-weight: 650; }
.broker-source-message { font-size: .75rem; color: var(--muted-text, #667085); }
.broker-source-action { font-size: .77rem; font-weight: 650; white-space: nowrap; }

.broker-source-row.is-disabled {
    cursor: default;
    text-decoration: none;
}
.broker-source-row.is-disabled:hover {
    transform: none;
}


/* =====================================================
   v6.7 — LIFECYCLE INFORMATION ARCHITECTURE
===================================================== */
[hidden] { display: none !important; }
.lifecycle-home { max-width: 1180px; margin: 0 auto; padding: 72px 28px 56px; }
.lifecycle-hero { max-width: 760px; margin-bottom: 34px; }
.lifecycle-hero h1 { margin: 8px 0 14px; font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.04; color: #172033; letter-spacing: -0.04em; }
.lifecycle-hero > p:last-child { max-width: 700px; color: #526071; font-size: 1.08rem; line-height: 1.65; }
.lifecycle-entry-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.lifecycle-entry-card { min-height: 220px; padding: 25px; border: 1px solid #dbe2ea; border-radius: 18px; background: #fff; text-align: left; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; box-shadow: 0 8px 30px rgba(30, 41, 59, .06); cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.lifecycle-entry-card:hover, .lifecycle-entry-card:focus-visible { transform: translateY(-3px); border-color: #8aa7bc; box-shadow: 0 14px 36px rgba(30, 41, 59, .12); }
.lifecycle-entry-card strong { color: #172033; font-size: 1.12rem; }
.lifecycle-entry-card > span:last-child { color: #657181; line-height: 1.5; }
.lifecycle-entry-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #edf5f8; color: #204f68; font-size: 1.45rem; }
.lifecycle-principle { margin-top: 24px; padding: 15px 18px; border-radius: 12px; background: #f4f7f9; color: #53606e; font-size: .94rem; }
.top-nav a { white-space: nowrap; }
.owned-boats-modal-content { max-width: 900px; }
.owned-boats-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; border-bottom: 1px solid #e2e8f0; padding-bottom: 18px; }
.owned-boats-header h2 { margin: 2px 0 5px; }
.owned-boats-header p { margin: 0; color: #64748b; }
.foundation-badge { padding: 6px 10px; border-radius: 999px; background: #edf5f8; color: #285d75; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.owned-boats-empty { max-width: 570px; margin: 42px auto; text-align: center; }
.owned-boats-empty-icon { width: 68px; height: 68px; margin: 0 auto 16px; display: grid; place-items: center; border-radius: 50%; background: #edf5f8; font-size: 1.8rem; }
.owned-boats-empty h3 { margin: 0 0 10px; font-size: 1.35rem; }
.owned-boats-empty p { color: #64748b; line-height: 1.55; }
.owned-boats-scope { border-top: 1px solid #e2e8f0; padding-top: 22px; }
.owned-boats-scope h3 { font-size: .98rem; margin: 0 0 13px; }
.owned-boats-scope-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.owned-boats-scope-grid span { padding: 11px 13px; border-radius: 9px; background: #f5f7f9; color: #53606e; font-size: .9rem; }
@media (max-width: 1000px) { .lifecycle-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .lifecycle-home { padding: 42px 18px; } .lifecycle-entry-grid { grid-template-columns: 1fr; } .lifecycle-entry-card { min-height: 170px; } .owned-boats-scope-grid { grid-template-columns: 1fr 1fr; } }

/* =====================================================
   V6.8 — PERMANENT BOAT GUIDE
===================================================== */
.boat-guide-view { min-height: calc(100vh - 78px); background: #f4f7f9; padding: 28px clamp(18px, 4vw, 64px) 64px; }
.boat-guide-shell { max-width: 1440px; margin: 0 auto; }
.boat-guide-back { border: 0; background: transparent; padding: 8px 0 18px; font-weight: 700; color: #38576d; cursor: pointer; }
.boat-guide-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 420px); gap: 36px; align-items: center; background: #fff; border: 1px solid #dfe7ec; border-radius: 18px; padding: clamp(22px, 4vw, 44px); box-shadow: 0 12px 30px rgba(33, 54, 68, .07); }
.boat-guide-heading h1 { margin: 4px 0 8px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; }
.boat-guide-image { width: 100%; height: 250px; object-fit: cover; border-radius: 14px; background: #e8eef2; }
.boat-guide-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 28px; margin-top: 28px; align-items: start; }
.boat-guide-stage-nav { position: sticky; top: 96px; display: grid; gap: 8px; }
.boat-guide-stage-nav .boat-workspace-tab { width: 100%; text-align: left; padding: 15px 16px; border: 1px solid transparent; border-radius: 12px; background: transparent; font-size: 1rem; font-weight: 750; color: #29485c; cursor: pointer; }
.boat-guide-stage-nav .boat-workspace-tab span { display: block; margin-top: 3px; font-size: .78rem; font-weight: 500; color: #718696; }
.boat-guide-stage-nav .boat-workspace-tab.active { background: #fff; border-color: #cfdce4; box-shadow: 0 6px 18px rgba(33,54,68,.06); }
.boat-guide-content { min-width: 0; }
.boat-guide-content .boat-workspace-panel { display: block; }
.boat-guide-content .boat-workspace-panel[hidden] { display: none; }
.boat-guide-section-intro { margin-bottom: 18px; padding: 4px 2px; }
.boat-guide-section-intro h2 { margin: 0 0 6px; font-size: 1.65rem; }
.boat-guide-section-intro p { margin: 0; color: #5f7483; max-width: 70ch; }
.boat-guide-subsection { margin-bottom: 18px; }
.boat-guide-subsection > summary { cursor: pointer; list-style: none; font-weight: 800; font-size: 1.1rem; padding: 18px 20px; background: #fff; border: 1px solid #dfe7ec; border-radius: 13px; }
.boat-guide-subsection > summary::-webkit-details-marker { display:none; }
.boat-guide-subsection[open] > summary { border-radius: 13px 13px 0 0; border-bottom-color: transparent; }
.boat-guide-subsection-body { background:#fff; border:1px solid #dfe7ec; border-top:0; border-radius:0 0 13px 13px; padding: 4px 18px 18px; }
.boat-guide-unknown-note { background: #f8fafb; border-left: 4px solid #8ba0ae; padding: 13px 16px; margin: 0 0 18px; color: #4c6271; }
@media (max-width: 850px) {
  .boat-guide-header { grid-template-columns: 1fr; }
  .boat-guide-layout { grid-template-columns: 1fr; }
  .boat-guide-stage-nav { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px) { .boat-guide-stage-nav { grid-template-columns: 1fr; } }

/* v6.9 Guided model journey */
.guided-match-view{padding:34px 22px 70px;background:#f4f7f8;min-height:calc(100vh - 76px)}
.guided-match-shell{max-width:980px;margin:0 auto;background:#fff;border:1px solid #dbe5ea;border-radius:20px;padding:28px 34px;box-shadow:0 12px 36px rgba(31,54,68,.08)}
.guided-back{border:0;background:transparent;color:#315f78;font-weight:750;padding:0;margin-bottom:22px;cursor:pointer}
.guided-match-header h1{margin:.25rem 0 .55rem;font-size:clamp(2rem,4vw,3.2rem)}
.guided-match-header>p{max-width:720px;color:#5d7483}
.guided-progress{height:8px;background:#e6edf1;border-radius:999px;margin:24px 0 8px;overflow:hidden}.guided-progress span{display:block;width:20%;height:100%;background:#315f78;transition:width .2s ease}
.guided-step{padding:28px 0 16px}.guided-step h2{font-size:1.65rem;margin:0 0 8px}.guided-step>p{color:#5d7483;max-width:760px}.guided-step h3{margin:26px 0 10px}
.guided-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.guided-choice{display:flex;align-items:center;gap:10px;border:1px solid #d8e2e8;border-radius:12px;padding:13px 14px;background:#fafcfd;cursor:pointer}.guided-choice:has(input:checked){border-color:#315f78;background:#eef5f8}.guided-choice input{width:18px;height:18px}
.guided-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.guided-field-grid label{font-weight:750}.guided-field-grid label span{display:block;font-size:.8rem;font-weight:500;color:#718696;margin:4px 0 8px}.guided-field-grid input,.guided-field-grid select{width:100%;margin-top:8px;padding:11px;border:1px solid #cad7de;border-radius:9px;background:#fff}.guided-final-note{padding:14px 16px;background:#f1f6f8;border-left:4px solid #315f78;border-radius:8px}.guided-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e4ebef;padding-top:20px}.guided-actions button{padding:11px 18px}
.boat-guide-section-menu{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.boat-guide-section-menu button{border:1px solid #cad9e1;background:#fff;color:#315f78;border-radius:999px;padding:8px 12px;font-weight:750;cursor:pointer}.boat-guide-section-menu button:hover{background:#eef5f8}.boat-guide-subsection>summary{position:relative;padding-right:54px}.boat-guide-subsection>summary::after{content:'Open';position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:.72rem;font-weight:700;color:#6b8190}.boat-guide-subsection[open]>summary::after{content:'Close'}.boat-guide-subsection-target{scroll-margin-top:110px}
@media(max-width:760px){.guided-match-shell{padding:22px 18px}.guided-choice-grid,.guided-field-grid{grid-template-columns:1fr}.guided-actions{justify-content:space-between}.guided-actions button{flex:1}}

/* v6.10 Guided profile education and state repair */
.guided-info-choice{align-items:flex-start}
.guided-info-choice>span{display:flex;flex-direction:column;gap:3px}
.guided-info-choice strong{font-size:.96rem;color:#233f50}
.guided-info-choice small{display:block;color:#667d8b;line-height:1.35;font-weight:500}
.guided-descriptive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.guided-optional-block{margin-top:26px;padding:20px;border:1px solid #dce6eb;border-radius:14px;background:#f8fafb}
.guided-optional-block h3{margin:0 0 6px}
.guided-optional-block h3 span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#708591;margin-left:8px}
.guided-optional-block>p{margin:0;color:#667d8b}
.guided-preference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-top:20px}
.guided-preference-row{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:12px;border:1px solid #dce5ea;border-radius:10px;padding:11px 12px;background:#fafcfd;font-weight:700}
.guided-preference-row select{width:100%;padding:8px;border:1px solid #c8d5dc;border-radius:8px;background:#fff}
@media(max-width:760px){.guided-descriptive-grid,.guided-preference-list{grid-template-columns:1fr}.guided-preference-row{grid-template-columns:1fr 120px}}

.guided-section-help{margin:-.35rem 0 1rem;color:#506b7e;max-width:58rem;line-height:1.4;}


/* Phase 2 — Dream / Buy / Own / Sell lifecycle language */
.lifecycle-stage-name {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #edf5f8;
  color: #204f68;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.lifecycle-entry-card strong { margin-top: 4px; }

/* Lifecycle reframe — Plan / Dream / Research / Buy / Own / Sell */
.lifecycle-entry-grid-six {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1000px) {
  .lifecycle-entry-grid-six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .lifecycle-entry-grid-six { grid-template-columns: 1fr; }
}

/* Contextual lifecycle hierarchy */
.lifecycle-start-section,
.lifecycle-continue-section { margin-top: 30px; }
.lifecycle-start-section > h2,
.lifecycle-continue-section > h2 { margin: 0 0 14px; color:#172033; font-size:1.15rem; }
.lifecycle-entry-grid-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lifecycle-entry-grid-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lifecycle-entry-card-secondary { min-height: 160px; }
@media (max-width:680px) {
  .lifecycle-entry-grid-primary,
  .lifecycle-entry-grid-secondary { grid-template-columns:1fr; }
}

/* =====================================================
   v6.7 compact-density pass — user review 2026-08-08
   ===================================================== */

/* Header */
.site-header {
    height: 62px;
    padding: 0 18px;
}
.header-logo img {
    height: 46px;
    width: auto;
    max-width: 360px;
}
.top-nav { gap: 16px; }
.top-nav a { font-size: 12px; }
.app-layout {
    grid-template-columns: 240px 1fr;
    height: calc(100vh - 62px);
    padding-top: 72px;
}
.search-panel {
    padding: 12px;
    height: calc(100vh - 62px);
    font-size: 11px;
}
.search-panel h2 { font-size: 16px; }
.filter-section { margin-bottom: 10px; }
.filter-section h3 { font-size: 11px; margin-bottom: 5px; }
.filter-section label { font-size: 11px; margin-bottom: 5px; }
.filter-header { font-size: 11px; padding: 7px 4px; }
input, select { padding: 5px 6px; font-size: 11px; }
button { padding: 7px 10px; font-size: 11px; }

.results-area {
    padding: 12px;
    height: calc(100vh - 62px);
}
.results-header { margin-bottom: 10px; }
.results-header h2 { font-size: 17px; }
.results-principle { font-size: 10px; }
.boat-grid {
    grid-template-columns: repeat(4, minmax(190px, 1fr));
    gap: 11px;
}
.boat-card {
    padding: 10px;
    border-radius: 7px;
}
.boat-card h2 { font-size: 14px; margin: 7px 0; }
.boat-image { height: 120px; }
.boat-card p { font-size: 10.5px; line-height: 1.3; }
.boat-card h3, .boat-card strong { font-size: 11px; }
.boat-card-buttons { margin-top: 6px; }
.boat-card-buttons .details-button {
    font-size: 9px;
    padding: 5px 3px;
}
.decision-summary-section { font-size: 10px; }

/* Plan — designed to keep each question screen within a normal desktop viewport */
.guided-match-view {
    padding: 10px 16px 18px;
    min-height: calc(100vh - 62px);
}
.guided-match-shell {
    max-width: 1040px;
    padding: 14px 20px;
    border-radius: 12px;
}
.guided-back {
    margin-bottom: 6px;
    font-size: 10px;
}
.guided-match-header {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 18px;
    align-items: end;
}
.guided-match-header .workspace-eyebrow,
.guided-match-header > p {
    grid-column: 1 / -1;
}
.guided-match-header h1 {
    font-size: 21px;
    margin: 2px 0 4px;
    line-height: 1.1;
}
.guided-match-header > p {
    margin: 0 0 5px;
    font-size: 10.5px;
    line-height: 1.3;
    max-width: none;
}
.guided-progress {
    margin: 7px 0 3px;
    height: 5px;
}
#guidedProgressText { font-size: 9px; }
.guided-step {
    padding: 10px 0 5px;
}
.guided-step h2 {
    font-size: 16px;
    margin: 0 0 4px;
}
.guided-step > p,
.guided-section-help,
.guided-optional-block > p {
    font-size: 10px;
    line-height: 1.3;
    margin: 3px 0 7px;
    max-width: none;
}
.guided-step h3 {
    font-size: 11px;
    margin: 9px 0 5px;
}
.guided-choice-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 6px;
    margin: 6px 0;
}
.guided-choice {
    padding: 7px 8px;
    gap: 7px;
    border-radius: 7px;
    min-height: 0;
}
.guided-choice strong { font-size: 10.5px; }
.guided-choice small {
    font-size: 9px;
    line-height: 1.2;
    margin-top: 2px;
}
.guided-choice input { margin: 0; }
.guided-optional-block {
    margin-top: 7px;
    padding-top: 7px;
}
.guided-field-grid {
    gap: 10px;
    margin: 7px 0;
}
.guided-field-grid label {
    font-size: 10px;
}
.guided-field-grid label > span {
    font-size: 8.5px;
    line-height: 1.2;
}
.guided-preference-list { gap: 4px; }
.guided-preference-row {
    padding: 5px 7px;
    font-size: 10px;
}
.guided-actions {
    padding-top: 7px;
    gap: 7px;
}
.guided-actions button {
    padding: 6px 10px;
    font-size: 10px;
}

/* Home density */
.lifecycle-home {
    padding: 38px 24px 32px;
}
.lifecycle-hero {
    margin-bottom: 20px;
}
.lifecycle-hero h1 {
    font-size: clamp(1.7rem, 3vw, 2.5rem);
}
.lifecycle-hero > p:last-child {
    font-size: .9rem;
    line-height: 1.45;
}
.lifecycle-entry-card {
    min-height: 160px;
    padding: 18px;
    gap: 8px;
}
.lifecycle-entry-card strong { font-size: .98rem; }
.lifecycle-entry-card > span:last-child { font-size: .82rem; line-height: 1.35; }

@media (max-width: 900px) {
    .boat-grid { grid-template-columns: repeat(2,minmax(180px,1fr)); }
    .guided-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
    .site-header { min-height: 58px; height:auto; }
    .header-logo img { height: 38px; max-width: 230px; }
    .app-layout { padding-top: 68px; grid-template-columns: 1fr; height:auto; }
    .search-panel { height:auto; border-right:0; }
    .boat-grid { grid-template-columns: 1fr; }
    .guided-choice-grid { grid-template-columns: 1fr; }
}


/* v6.11 Community contribution entry points */
.contribution-view{padding:28px 20px 64px;background:#f4f7f8;min-height:calc(100vh - 76px)}
.contribution-shell{max-width:1040px;margin:0 auto;background:#fff;border:1px solid #dbe5ea;border-radius:18px;padding:26px 30px;box-shadow:0 10px 30px rgba(31,54,68,.07)}
.contribution-back{border:0;background:transparent;color:#315f78;font-weight:750;padding:0;margin:0 0 18px;cursor:pointer}
.contribution-header h1{margin:.2rem 0 .45rem;font-size:clamp(1.8rem,3.2vw,2.7rem)}
.contribution-header>p{margin:0;color:#5d7483;max-width:72ch;line-height:1.45}
.contribution-principle{margin:20px 0 24px;padding:12px 14px;border-left:4px solid #315f78;background:#f3f7f9;border-radius:8px;color:#415d6e;font-size:.92rem}
.contribution-type-group{margin:0 0 24px}
.contribution-group-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}
.contribution-group-heading h2{margin:0;font-size:1.08rem;color:#263f4e}
.contribution-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.contribution-type-card{text-align:left;border:1px solid #d7e2e8;border-radius:12px;background:#fbfcfd;padding:14px 15px;cursor:pointer;min-height:104px;color:#263f4e}
.contribution-type-card:hover,.contribution-type-card:focus-visible{border-color:#7795a6;background:#f5f9fb;outline:none}
.contribution-type-card.selected{border-color:#315f78;background:#eef5f8;box-shadow:inset 0 0 0 1px #315f78}
.contribution-type-card strong{display:block;font-size:.95rem;margin-bottom:5px}
.contribution-type-card span{display:block;color:#667d8b;font-size:.8rem;line-height:1.4;font-weight:500}
.contribution-selection-state{margin-top:8px;padding:13px 15px;border:1px solid #ccdce4;border-radius:10px;background:#f7fafb}
.contribution-selection-state strong,.contribution-selection-state span{display:block}
.contribution-selection-state span{margin-top:3px;color:#647b89;font-size:.84rem}
.boat-guide-heading-actions{margin-top:12px}
.guide-contribute-action{border:1px solid #9db2bf;background:#fff;color:#315f78;border-radius:9px;padding:8px 12px;font-size:.82rem;font-weight:750;cursor:pointer}
.guide-contribute-action:hover{background:#eef5f8;border-color:#6f91a3}
@media(max-width:760px){.contribution-shell{padding:22px 18px}.contribution-type-grid{grid-template-columns:1fr}.contribution-type-card{min-height:0}}

/* v6.12 Community contribution forms */
.contribution-form-panel{margin-top:8px;border-top:1px solid #dce6eb;padding-top:24px}
.contribution-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.contribution-form-heading h2{margin:.15rem 0 .35rem;font-size:1.35rem;color:#263f4e}
.contribution-form-heading p:not(.workspace-eyebrow){margin:0;color:#647b89;font-size:.88rem;line-height:1.45;max-width:70ch}
.contribution-change-type{border:1px solid #bacbd4;background:#fff;color:#315f78;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer;white-space:nowrap}
.contribution-fixed-context{padding:12px 14px;margin-bottom:16px;background:#f3f7f9;border:1px solid #d9e5ea;border-radius:9px}
.contribution-fixed-context span{display:block;color:#6b7f8b;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:750}
.contribution-fixed-context strong{display:block;margin-top:2px;color:#263f4e}
.contribution-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contribution-field{margin-bottom:15px}
.contribution-field label{display:block;margin-bottom:6px;color:#304b5b;font-size:.84rem;font-weight:750}
.contribution-field label span{font-weight:600;color:#7a8e99}
.contribution-field input,.contribution-field select,.contribution-field textarea{box-sizing:border-box;width:100%;border:1px solid #cbd9e0;border-radius:8px;background:#fff;padding:9px 10px;color:#263f4e;font:inherit;font-size:.88rem}
.contribution-field textarea{resize:vertical;line-height:1.45}
.contribution-field input:focus,.contribution-field select:focus,.contribution-field textarea:focus{outline:2px solid rgba(49,95,120,.18);border-color:#66899c}
.contribution-field input[readonly]{background:#f5f7f8;color:#667b87}
.contribution-field small{display:block;margin-top:5px;color:#748894;font-size:.74rem;line-height:1.35}
.contribution-optional-details{border:1px solid #dbe5ea;border-radius:9px;margin:2px 0 16px;padding:0 12px;background:#fbfcfd}
.contribution-optional-details summary{padding:10px 0;cursor:pointer;color:#476676;font-size:.82rem;font-weight:750}
.contribution-optional-details[open]{padding-bottom:2px}
.contribution-submit-area{margin-top:6px;padding-top:16px;border-top:1px solid #e1e8ec;display:flex;align-items:center;justify-content:space-between;gap:20px}
.contribution-submit-area p{margin:0;color:#667d8a;font-size:.78rem;line-height:1.4;max-width:62ch}
.contribution-submit-button{border:0;border-radius:9px;background:#315f78;color:#fff;padding:10px 15px;font-weight:750;cursor:pointer;white-space:nowrap}
.contribution-submit-button:hover{background:#264d63}
.contribution-form-message{margin-top:18px;padding:13px 14px;border:1px solid #b8d1c5;background:#f2f8f5;border-radius:9px;color:#35594a}
.contribution-form-message strong,.contribution-form-message span{display:block}
.contribution-form-message span{margin-top:3px;font-size:.8rem;line-height:1.4}
.contribution-phase-note{padding:18px;border:1px solid #d8e3e8;border-radius:10px;background:#f7fafb}
.contribution-phase-note strong{color:#304b5b}.contribution-phase-note p{margin:.35rem 0 0;color:#667d8a;font-size:.84rem}
@media(max-width:760px){.contribution-field-row{grid-template-columns:1fr}.contribution-form-heading,.contribution-submit-area{display:block}.contribution-change-type{margin-top:12px}.contribution-submit-button{margin-top:14px;width:100%}}

/* v6.13 Community photo contributions */
.contribution-photo-preview{display:flex;align-items:center;gap:12px;margin:-5px 0 16px;padding:10px;border:1px solid #d8e4e9;border-radius:9px;background:#f8fafb;color:#607985;font-size:.78rem}
.contribution-photo-preview img{display:block;width:96px;height:72px;object-fit:cover;border-radius:7px;background:#e8eef1}
.contribution-photo-preview img:not([src]){display:none}
.contribution-rights-box{margin:4px 0 16px;border:1px solid #d8e3e8;border-radius:10px;padding:12px 14px;background:#fbfcfd}
.contribution-rights-box legend{padding:0 5px;color:#304b5b;font-size:.84rem;font-weight:750}
.contribution-radio{display:flex;align-items:flex-start;gap:9px;padding:8px 0;cursor:pointer}
.contribution-radio input{margin-top:3px}
.contribution-radio span,.contribution-radio strong,.contribution-radio small{display:block}
.contribution-radio strong{color:#304b5b;font-size:.84rem}
.contribution-radio small{margin-top:2px;color:#728793;font-size:.74rem;line-height:1.35;font-weight:500}
.contribution-rights-box>p{margin:8px 0 0;padding-top:9px;border-top:1px solid #e2e9ed;color:#738792;font-size:.73rem;line-height:1.4}

.contribution-file-note{margin:-5px 0 16px;padding:9px 11px;border:1px solid #d8e4e9;border-radius:8px;background:#f8fafb;color:#607985;font-size:.78rem}

/* v6.15 Community coverage expansion */
.contribution-inline-warning{margin:-4px 0 15px;padding:10px 12px;border:1px solid #d7c8a5;border-radius:8px;background:#fffaf0;color:#715d31;font-size:.8rem;line-height:1.4}
.contribution-inline-warning strong{color:#5b4820}

/* Phase 10 — reviewed community knowledge inside the permanent Guide */
.community-knowledge-list{display:grid;gap:12px}.community-knowledge-card{border:1px solid #dbe4ea;border-radius:12px;padding:14px;background:#fff}.community-knowledge-card.has-conflict{border-style:dashed}.community-knowledge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.community-knowledge-head h4{margin:0;font-size:1rem}.community-evidence-pill{white-space:nowrap;font-size:.76rem;font-weight:700;border:1px solid #c9d7df;border-radius:999px;padding:4px 8px;background:#f7fafb}.community-knowledge-card>p{margin:8px 0}.community-knowledge-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:#52616b;font-size:.8rem}.community-evidence-details{margin-top:9px}.community-evidence-details summary{cursor:pointer;font-size:.82rem;font-weight:700}.community-evidence-details div{padding-top:6px}.community-evidence-details p{margin:5px 0}.community-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.community-photo-card{margin:0;border:1px solid #dbe4ea;border-radius:12px;overflow:hidden;background:#fff}.community-photo-card img,.community-photo-placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#edf2f4}.community-photo-placeholder{display:grid;place-items:center;color:#60717a;font-size:.84rem}.community-photo-card figcaption{padding:9px;font-size:.8rem}.community-photo-card figcaption span,.community-photo-card figcaption small{display:block;margin-top:4px;color:#586872}.community-attachment-link{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;text-align:left}.community-resource-stack{margin-top:12px}

/* v6.22.1 Plan visual uplift + sitewide density pass */
.guided-question-title,
.guided-subtitle-with-icon{display:flex;align-items:center;gap:9px}
.guided-inline-icon{display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:8px;background:#eef5f8;color:#315f78}
.guided-inline-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guided-question-title .guided-inline-icon{width:28px;height:28px}
.guided-question-title .guided-inline-icon svg{width:18px;height:18px}
.guided-subtitle-with-icon{margin:10px 0 5px}
.guided-choice-visual{display:grid;grid-template-columns:64px 18px 1fr;align-items:center;column-gap:8px}
.guided-option-visual{width:64px;height:36px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(180deg,#f1f6f8 0%,#e7f0f5 100%);border:1px solid #d6e3ea;color:#284b61}
.guided-option-visual svg{width:54px;height:30px;fill:currentColor;stroke:none}
.guided-option-mini-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#eef5f8;color:#315f78;flex:0 0 auto}
.guided-option-mini-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guided-choice > span{min-width:0}
.guided-choice > span strong{display:block}
.guided-preference-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.guided-preference-copy span{display:block;font-weight:700}
.guided-preference-copy small{display:block;color:#647b89;line-height:1.3;font-size:9px;font-weight:500}
.guided-preference-row{grid-template-columns:minmax(0,1fr) 116px;align-items:start}
.guided-region-grid .guided-choice{align-items:flex-start}

/* Compact typography and spacing across other major sections */
.contribution-view{padding:12px 16px 24px;min-height:calc(100vh - 62px)}
.contribution-shell{max-width:1040px;padding:16px 20px;border-radius:12px;box-shadow:0 8px 24px rgba(31,54,68,.06)}
.contribution-back{margin-bottom:8px;font-size:10px}
.contribution-header h1{font-size:22px;margin:2px 0 6px;line-height:1.1}
.contribution-header>p,.contribution-form-heading p:not(.workspace-eyebrow),.contribution-principle{font-size:10px;line-height:1.35}
.contribution-principle{margin:12px 0 14px;padding:10px 12px}
.contribution-type-card strong{font-size:11px}
.contribution-type-card p,.contribution-type-card small,.contribution-field small,.contribution-selection-state,.contribution-form-message{font-size:10px}
.contribution-field label,.contribution-form-heading h2{font-size:11px}
.contribution-field input,.contribution-field select,.contribution-field textarea{padding:7px 8px;font-size:11px}

.boat-guide-view{padding:12px 16px 28px;min-height:calc(100vh - 62px)}
.boat-guide-shell{max-width:1320px}
.boat-guide-back{padding:4px 0 10px;font-size:10px}
.boat-guide-header{gap:22px;border-radius:12px;padding:18px 22px;box-shadow:0 8px 24px rgba(33,54,68,.06)}
.boat-guide-heading h1{font-size:24px;line-height:1.08;margin:2px 0 5px}
.boat-guide-heading p,.boat-guide-subsection-body p,.boat-guide-subsection-body li,.boat-guide-unknown-note{font-size:10.5px;line-height:1.4}
.boat-guide-image{height:210px;border-radius:10px}
.boat-guide-layout{grid-template-columns:210px minmax(0,1fr);gap:18px;margin-top:16px}
.boat-guide-stage-nav{top:72px;gap:6px}
.boat-guide-stage-nav .boat-workspace-tab{padding:10px 12px;font-size:11px;border-radius:10px}
.boat-guide-stage-nav .boat-workspace-tab span{font-size:9px;line-height:1.25}
.boat-guide-section-intro{margin-bottom:12px;padding:2px 1px}
.boat-guide-section-intro h2{font-size:18px;margin:0 0 4px}
.boat-guide-section-intro p{font-size:10px;line-height:1.35}
.boat-guide-subsection{margin-bottom:12px}
.boat-guide-subsection>summary{font-size:12px;padding:12px 14px;border-radius:10px}
.boat-guide-subsection-body{padding:2px 14px 14px;border-radius:0 0 10px 10px}
.guide-contribute-action{font-size:10px;padding:7px 10px}

.information-modal-content{max-width:720px}
.information-modal-content h2{font-size:24px}
.information-modal-content p,.information-modal-content li{font-size:11px;line-height:1.45}
.information-modal-content blockquote{margin:18px 0;padding:14px 16px;font-size:15px}
.information-section{margin-top:18px}

@media (max-width: 900px){
  .guided-choice-visual{grid-template-columns:56px 18px 1fr}
  .guided-option-visual{width:56px}
  .boat-guide-layout{grid-template-columns:1fr}
}
@media (max-width: 680px){
  .guided-choice-visual{grid-template-columns:1fr;row-gap:6px}
  .guided-choice-visual .guided-option-visual{width:100%;height:38px}
  .guided-choice-visual input{justify-self:start}
  .contribution-shell,.boat-guide-header{padding:16px}
}

/* v6.22.2 Plan visual pass */
.guided-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.guided-region-choice{display:grid;grid-template-columns:44px 18px 1fr;align-items:start;column-gap:10px;row-gap:3px}
.guided-region-choice em{display:block;margin-top:4px;color:#315f78;font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.guided-region-visual{width:44px;height:44px;border-radius:12px;background:linear-gradient(180deg,#edf5f8 0%,#dcecf4 100%);border:1px solid #d3e4ec;display:grid;place-items:center;position:relative;overflow:hidden}
.guided-region-water{display:block;width:24px;height:5px;border-radius:999px;background:#5d97b8;box-shadow:0 8px 0 #89b8d0,0 16px 0 #b0d0e0}
.guided-region-water.short{width:18px}
.guided-region-mountain{position:absolute;left:8px;top:10px;width:20px;height:14px;background:#7ea0a6;clip-path:polygon(0 100%,50% 10%,100% 100%)}
.guided-region-sun{position:absolute;right:7px;top:7px;width:10px;height:10px;border-radius:50%;background:#f1c75b;box-shadow:0 0 0 3px rgba(241,199,91,.18)}
.guided-region-lighthouse{position:absolute;left:11px;top:8px;width:8px;height:18px;background:#f7fafc;border:1px solid #7f93a0;border-bottom:none;clip-path:polygon(20% 100%,80% 100%,70% 18%,30% 18%)}
.guided-region-lighthouse::after{content:"";position:absolute;left:-4px;top:-5px;width:14px;height:5px;background:#7f93a0;clip-path:polygon(50% 0,100% 100%,0 100%)}
.guided-region-compass{width:20px;height:20px;border:2px solid #5b839b;border-radius:50%;position:relative}
.guided-region-compass::before{content:"";position:absolute;left:8px;top:1px;width:2px;height:14px;background:#5b839b;transform:rotate(35deg);transform-origin:center}
.guided-region-visual-caribbean .guided-region-water,.guided-region-visual-pnw .guided-region-water,.guided-region-visual-atlantic .guided-region-water{position:absolute;bottom:9px;left:10px;width:24px;height:5px}
.guided-dimensions-graphic{margin:10px 0 12px}
.guided-dimensions-card{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:center;padding:12px 14px;background:#f7fafb;border:1px solid #dde8ee;border-radius:12px}
.guided-dimensions-card svg{width:100%;height:auto;fill:#cfe0ea;stroke:#315f78;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.guided-dimensions-legend{display:grid;gap:8px}
.guided-dimensions-legend strong{display:block;font-size:10.5px;color:#183245;margin-bottom:2px}
.guided-dimensions-legend small{display:block;font-size:9px;line-height:1.35;color:#647b89}
.guided-family-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:8px 0 12px}
.guided-family-strip-card{padding:8px;border:1px solid #dce7ec;border-radius:10px;background:#f8fbfc;text-align:center;display:grid;gap:5px;justify-items:center}
.guided-family-strip-card .guided-option-visual{width:100%;max-width:64px;height:36px}
.guided-family-strip-card strong{font-size:9.8px;color:#183245;line-height:1.15}
.guided-family-strip-card small{font-size:8.2px;color:#667d8b;line-height:1.25}
.guided-preference-copywrap{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;min-width:0}
.guided-feature-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#eef5f8;color:#315f78;flex:0 0 auto}
.guided-feature-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guided-crew-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.guided-crew-card{background:#f8fbfc;color:#183245;border:1px solid #dce7ec;border-radius:12px;padding:10px;text-align:left;display:grid;gap:4px;box-shadow:none}
.guided-crew-card:hover{background:#f0f7fa;border-color:#b8d0dd;opacity:1}
.guided-crew-card.active{background:#eef5f8;border-color:#315f78;box-shadow:inset 0 0 0 1px #315f78}
.guided-crew-icon{display:inline-grid;justify-content:start;font-size:11px;color:#315f78;letter-spacing:1px}
.guided-crew-card strong{font-size:10.5px;line-height:1.15}
.guided-crew-card small{font-size:9px;line-height:1.3;color:#647b89}

@media (max-width: 980px){
  .guided-family-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .guided-crew-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px){
  .guided-region-grid{grid-template-columns:1fr}
  .guided-dimensions-card{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .guided-family-strip,.guided-crew-cards{grid-template-columns:1fr}
}

/* v6.22.3 remove rejected cruising and dimension graphics */
.guided-region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.guided-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.guided-region-grid{grid-template-columns:1fr}}

/* v6.22.4 visual cleanup requested after Plan review */
/* Features remain compact rows rather than boxed mini-cards. */
.guided-preference-row{
  border:0;
  border-bottom:1px solid #e2e9ed;
  border-radius:0;
  background:transparent;
  padding:6px 2px;
}
.guided-preference-row:last-child{border-bottom:0}
.guided-preference-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guided-preference-copywrap{grid-template-columns:26px minmax(0,1fr)}
/* No crew-scenario visual cards in the active Plan flow. */
.guided-crew-cards{display:none!important}

/* v6.22.6 targeted Plan / navigation corrections */
.header-home-link{display:flex;align-items:center;text-decoration:none;cursor:pointer}

/* Keep Contribute clear of the fixed global header. */
.contribution-view{padding-top:76px}
.contribution-back{display:inline-flex;position:relative;z-index:1;margin:0 0 10px;font-size:11px}

/* Requested Plan headings: no decorative box/icon before title. */
#guidedMatchView [data-guided-step="2"] > h2,
#guidedMatchView [data-guided-step="3"] > h2,
#guidedMatchView [data-guided-step="4"] > h2{
  display:block;
}

/* Feature title stays on one line; guidance may wrap beneath it. */
.guided-preference-copy span{
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.guided-preference-copy small{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.3;
}
.guided-preference-row{
  grid-template-columns:minmax(250px,1fr) 116px;
  align-items:center;
}
.guided-preference-copywrap{
  grid-template-columns:26px minmax(220px,1fr);
  align-items:center;
}

/* Crew Fit stays as one horizontal row on normal desktop widths. */
#guidedMatchView [data-guided-step="5"] .guided-field-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:end;
}
#guidedMatchView [data-guided-step="5"] .guided-field-grid label{
  min-width:0;
}
#guidedMatchView [data-guided-step="5"] .guided-field-grid input,
#guidedMatchView [data-guided-step="5"] .guided-field-grid select{
  width:100%;
}

@media(max-width:760px){
  #guidedMatchView [data-guided-step="5"] .guided-field-grid{grid-template-columns:1fr}
  .guided-preference-row{grid-template-columns:minmax(0,1fr) 110px}
  .guided-preference-copywrap{grid-template-columns:26px minmax(0,1fr)}
}

/* v6.22.7 feature guidance — approved Plan hierarchy */
.guided-preference-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 10px;
  margin-top:14px;
}
.guided-preference-row{
  grid-template-columns:minmax(0,1fr) 175px;
  gap:14px;
  min-height:62px;
  padding:8px 4px;
  align-items:center;
  border-bottom:1px solid #dbe4ea;
}
.guided-preference-copywrap,
.guided-preference-copywrap-text-only{
  display:block;
  min-width:0;
}
.guided-preference-copy{
  display:block;
  min-width:0;
}
.guided-preference-copy span{
  display:block;
  white-space:nowrap;
  overflow:visible;
  color:#101820;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}
.guided-preference-copy small{
  display:block;
  margin-top:4px;
  white-space:normal;
  overflow:visible;
  color:#4f6f83;
  font-size:12px;
  font-weight:400;
  line-height:1.3;
}
.guided-preference-row select{
  width:175px;
  justify-self:end;
  padding:8px 10px;
  font-size:14px;
}
@media(max-width:900px){
  .guided-preference-list{grid-template-columns:1fr}
}
@media(max-width:620px){
  .guided-preference-row{grid-template-columns:1fr;gap:7px}
  .guided-preference-row select{width:100%;justify-self:stretch}
}


/* v6.23.5 Plan dimensions — consistent full-width range layout */
#guidedMatchView [data-guided-step="1"] .guided-dimension-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
  max-width:none;
}
#guidedMatchView [data-guided-step="1"] .guided-dimension-fields label{min-width:0;}
@media(max-width:760px){#guidedMatchView [data-guided-step="1"] .guided-dimension-fields{grid-template-columns:1fr}}

/* v6.23.5 global navigation hierarchy */
.top-nav a{text-transform:uppercase;letter-spacing:.035em;}

/* =====================================================
   v6.24.1 Plan refinement
   VesselBook-inspired: hierarchy from typography/space, not decorative panels.
===================================================== */
.guided-match-view{
  background:#fff;
  padding:30px 22px 64px;
}
.guided-match-shell{
  max-width:980px;
  margin:0 auto;
  padding:24px 28px;
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.guided-match-header h1{
  margin:.2rem 0 .5rem;
  font-size:clamp(1.8rem,3.2vw,2.55rem);
  line-height:1.12;
  color:#101820;
}
.guided-match-header>p,
.guided-step>p{
  color:#526876;
  font-size:14px;
  line-height:1.48;
}
.guided-step{padding:26px 0 14px}
.guided-step h2{
  margin:0 0 8px;
  color:#101820;
  font-size:24px;
  line-height:1.2;
  font-weight:700;
}
.guided-step h3{
  margin:24px 0 9px;
  color:#101820;
  font-size:14px;
  line-height:1.25;
  font-weight:750;
}
.guided-choice{
  background:#fff;
  border:1px solid #cfd9e0;
  border-radius:6px;
  padding:10px 12px;
  box-shadow:none;
}
.guided-choice:hover{border-color:#9fb0bc;background:#fff}
.guided-choice:has(input:checked){
  background:#f4f8fb;
  border-color:#0b5fa5;
}
.guided-choice strong{font-size:14px}
.guided-choice small{font-size:12px;line-height:1.35;color:#607481}
.guided-option-visual{
  width:82px;
  height:46px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:hidden;
}
.guided-option-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.guided-option-visual svg{width:70px;height:38px;fill:#0b315f}
.guided-choice-visual{display:grid;grid-template-columns:82px 18px minmax(0,1fr);align-items:center;column-gap:9px}

/* LENGTH and BEAM are the parent categories. */
.guided-dimension-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
  margin-top:20px;
}
.guided-dimension-group{min-width:0}
#guidedMatchView [data-guided-step="1"] .guided-dimension-heading{
  margin:0 0 12px;
  padding:0 0 7px;
  border-bottom:1px solid #ccd7de;
  color:#101820;
  font-size:15px;
  font-weight:800;
  letter-spacing:.07em;
}
#guidedMatchView [data-guided-step="1"] .guided-dimension-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:0;
}
#guidedMatchView [data-guided-step="1"] .guided-dimension-fields label{
  min-width:0;
  color:#253640;
  font-size:13px;
  font-weight:700;
}
#guidedMatchView [data-guided-step="1"] .guided-dimension-fields label span{
  font-size:12px;
  line-height:1.35;
  font-weight:400;
  color:#657985;
}
#guidedMatchView [data-guided-step="1"] .guided-dimension-fields input,
.guided-field-grid input,.guided-field-grid select{
  background:#fff;
  border:1px solid #c7d3da;
  border-radius:5px;
  padding:9px 10px;
  box-shadow:none;
}

/* Features uses exactly the same question hierarchy as all other Plan steps. */
#guidedMatchView [data-guided-step="4"] > h2,
#guidedMatchView [data-guided-step="4"] > p{
  font-size:inherit;
}
#guidedMatchView [data-guided-step="4"] > h2{font-size:24px;line-height:1.2}
#guidedMatchView [data-guided-step="4"] > p{font-size:14px;line-height:1.48}
.guided-preference-row{
  background:#fff;
  border:1px solid #d3dde3;
  border-radius:5px;
  box-shadow:none;
}
.guided-preference-row select{background:#fff;border-radius:5px}
.guided-preference-copywrap-text-only{display:block}

/* Fuel/propulsion is intentionally text-first: no fuel-type illustrations. */
#guidedMatchView [data-guided-step="3"] [data-mirror-class="fuelFilter"] .guided-option-visual,
#guidedMatchView [data-guided-step="3"] [data-mirror-class="fuelFilter"] .guided-option-mini-icon{display:none!important}

.guided-optional-block{
  background:#fff;
  border:1px solid #d7e0e5;
  border-radius:6px;
  padding:16px;
}
.guided-actions button{
  min-height:0;
  padding:7px 11px;
  border-radius:5px;
  box-shadow:none;
}
@media(max-width:820px){
  .guided-dimension-groups{grid-template-columns:1fr;gap:20px}
}
@media(max-width:680px){
  .guided-match-shell{padding:20px 14px}
  .guided-choice-visual{grid-template-columns:68px 18px minmax(0,1fr)}
  .guided-option-visual{width:68px;height:42px}
  #guidedMatchView [data-guided-step="1"] .guided-dimension-fields{grid-template-columns:1fr}
}

/* =====================================================
   B-Atlas v6.25.0 brand lockup
   Text-first identity: clean, compact and independent of raster logo assets.
===================================================== */
.header-logo{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:1px;
  width:auto;
  max-width:none;
  text-decoration:none;
  line-height:1;
}
.brand-wordmark{
  display:block;
  color:#0b315f;
  font-size:28px;
  font-weight:800;
  letter-spacing:-.035em;
  line-height:.95;
  white-space:nowrap;
}
.brand-wordmark .brand-hyphen{color:#2378bf;padding:0 .025em}
.brand-tagline{
  display:block;
  margin-top:4px;
  color:#4f6f83;
  font-size:7.5px;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.05;
  text-transform:uppercase;
  white-space:nowrap;
}
.header-brand{min-width:220px}
@media(max-width:760px){
  .brand-wordmark{font-size:24px}
  .brand-tagline{font-size:6.5px;letter-spacing:.12em}
}
\n\n/* =====================================================\n   B-ATLAS v6.26.2 — CORE REFINEMENT (cache-safe)\n   These rules live in the long-standing core stylesheet so the\n   refinement is not dependent on a newly-added override file.\n   ===================================================== */\n:root{\n  --batlas-black:#17212b;\n  --batlas-navy:#102235;\n  --batlas-blue:#176fa8;\n  --batlas-blue-dark:#115b8d;\n  --batlas-grey:#566b7b;\n  --batlas-light:#f1f5f7;\n  --batlas-border:#cbd7df;\n}\nbody{font-size:17px;line-height:1.55;padding-top:72px;}\n.site-header{\n  position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:9999!important;\n  min-height:72px!important;background:#fff!important;border-bottom:1px solid var(--batlas-border)!important;\n  box-shadow:0 1px 4px rgba(16,34,53,.06)!important;\n}\n.workspace-eyebrow,.workspace-label{font-size:13px!important;color:#657989!important;font-weight:700!important;}\n.lifecycle-hero h1{font-size:clamp(36px,3.4vw,44px)!important;color:var(--batlas-blue)!important;line-height:1.08!important;}\n.lifecycle-hero>p:not(.workspace-eyebrow){font-size:17px!important;color:var(--batlas-grey)!important;line-height:1.55!important;}\n.lifecycle-start-section,.lifecycle-continue-section{border-top:0!important;padding:26px 0!important;}\n.lifecycle-entry-grid{gap:18px!important;}\n.lifecycle-entry-card{\n  text-align:left!important;background:#fff!important;border:1px solid var(--batlas-border)!important;border-radius:5px!important;\n  padding:20px!important;box-shadow:none!important;\n}\n.lifecycle-entry-card:hover{border-color:var(--batlas-blue)!important;background:#f8fbfd!important;}\n.lifecycle-stage-name{\n  display:block!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 8px!important;\n  color:var(--batlas-blue)!important;font-size:14px!important;font-weight:700!important;letter-spacing:.045em!important;text-transform:uppercase!important;\n}\n.lifecycle-entry-card strong{font-size:19px!important;font-weight:700!important;color:var(--batlas-navy)!important;}\n.lifecycle-entry-card>span:last-child{font-size:15px!important;font-weight:400!important;color:var(--batlas-grey)!important;}\n.lifecycle-principle{border-top:0!important;}\n\n.guided-match-header h1{font-size:clamp(36px,3.4vw,44px)!important;line-height:1.1!important;}\n.guided-match-header>p{font-size:17px!important;color:var(--batlas-grey)!important;}\n.guided-step h2{font-size:27px!important;color:var(--batlas-blue)!important;line-height:1.2!important;}\n.guided-step>p{font-size:16px!important;font-weight:400!important;color:var(--batlas-grey)!important;line-height:1.55!important;}\n.guided-field span,.guided-field small,.guided-dimension-group label span,.guided-section-help,.filter-help,.search-profile-description{\n  font-size:13px!important;color:var(--batlas-grey)!important;line-height:1.45!important;font-weight:400!important;\n}\n.guided-choice strong{font-size:16px!important;font-weight:700!important;color:var(--batlas-navy)!important;}\n.guided-choice small{font-size:14px!important;font-weight:400!important;color:var(--batlas-grey)!important;line-height:1.45!important;}\n.guided-progress{height:4px!important;background:#dbe5eb!important;}\n.guided-progress span{background:var(--batlas-blue)!important;}\n\n.guided-waterway-panel,.guided-optional-panel,.guided-preference-panel{\n  background:var(--batlas-light)!important;border:1px solid var(--batlas-border)!important;border-radius:7px!important;padding:24px!important;\n}\n.guided-waterway-panel .guided-choice,.guided-waterway-panel label{border:0!important;background:transparent!important;box-shadow:none!important;}\n.guided-waterway-panel .guided-choice:after,.guided-waterway-panel label:after{display:none!important;}\n.guided-waterway-panel .guided-choice-grid{gap:12px 28px!important;}\n\n.guided-choice-visual{display:grid!important;grid-template-columns:18px minmax(0,1fr) 76px!important;column-gap:12px!important;align-items:start!important;overflow:hidden!important;}\n.guided-choice-visual>input{grid-column:1!important;grid-row:1!important;}\n.guided-choice-visual>span{grid-column:2!important;grid-row:1!important;min-width:0!important;}\n.guided-choice-visual>.guided-option-visual{grid-column:3!important;grid-row:1!important;width:76px!important;height:46px!important;overflow:hidden!important;margin:0!important;}\n.guided-choice-visual>.guided-option-visual img,.guided-choice-visual>.guided-option-visual svg{width:76px!important;height:46px!important;max-width:76px!important;max-height:46px!important;object-fit:contain!important;display:block!important;}\n.guided-inline-icon.guided-icon-engine,.guided-option-mini-icon{display:none!important;}\n.guided-step[data-guided-step="3"] h3:last-of-type:before,.guided-step[data-guided-step="3"] h3:last-of-type:after{display:none!important;content:none!important;}\n\n.guided-actions{border-top:1px solid var(--batlas-border)!important;}\n#guidedNext,#guidedViewMatches{background:var(--batlas-blue)!important;border-color:var(--batlas-blue)!important;color:#fff!important;font-weight:700!important;}\n#guidedNext:hover,#guidedViewMatches:hover{background:var(--batlas-blue-dark)!important;}\n#guidedPrevious{background:#fff!important;border:1px solid #aebfcb!important;color:var(--batlas-navy)!important;font-weight:650!important;}\n#guidedPrevious:not(:disabled):hover{border-color:var(--batlas-blue)!important;color:var(--batlas-blue)!important;}\n#guidedPrevious:disabled{opacity:.45!important;}\n\n#discoverView .boat-card h2{font-size:20px!important;font-weight:750!important;color:var(--batlas-navy)!important;line-height:1.22!important;margin:10px 0 12px!important;}\n#discoverView .boat-card-buttons{gap:6px!important;margin:8px 0 14px!important;}\n#discoverView .boat-card-buttons .details-button{min-height:32px!important;padding:5px 10px!important;font-size:13px!important;font-weight:700!important;background:var(--batlas-blue)!important;border-color:var(--batlas-blue)!important;color:#fff!important;border-radius:4px!important;}\n#discoverView .boat-card-buttons .details-button:hover{background:var(--batlas-blue-dark)!important;}\n#discoverView .search-panel{font-size:15px!important;}\n#discoverView .search-panel h2{font-size:20px!important;}\n#discoverView .search-panel h3{font-size:15px!important;}\n#searchButton{background:var(--batlas-blue)!important;border-color:var(--batlas-blue)!important;color:#fff!important;font-weight:700!important;}\n#searchButton:hover{background:var(--batlas-blue-dark)!important;}\n#clearButton{background:#fff!important;color:var(--batlas-navy)!important;border-color:#aebfcb!important;}\n.temporary-image-filter{display:none!important;}\n\n@media(max-width:760px){\n  body{padding-top:64px;}\n  .site-header{min-height:64px!important;}\n  .guided-choice-visual{grid-template-columns:18px minmax(0,1fr)!important;}\n  .guided-choice-visual>.guided-option-visual{display:none!important;}\n}\n