/* /Components/Account/Login.razor.rz.scp.css */
.login-panel[b-avcrts8r3z] {
    max-width: 440px;
    margin: 1rem auto 2rem auto;
}

.login-form[b-avcrts8r3z] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
}

.login-field[b-avcrts8r3z] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.login-field label[b-avcrts8r3z] {
    font-weight: 600;
}

[b-avcrts8r3z] .form-control {
    min-height: 44px;
}

.login-submit[b-avcrts8r3z] {
    min-height: 44px;
    align-self: flex-start;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.login-error[b-avcrts8r3z] {
    background: #fbe9e7;
    border-left: 4px solid #a1261b;
    padding: 0.75rem 1rem;
    font-weight: 600;
}

.login-help[b-avcrts8r3z] {
    margin-top: 1.5rem;
    color: #505050;
    font-size: 0.95rem;
}
/* /Components/Layout/Footer.razor.rz.scp.css */
.site-footer[b-89pfw3wxqh] {
    background-color: #f1f4f9;
    border-top: 1px solid #d0d7de;
    margin-top: 2rem;
}

.footer-inner[b-89pfw3wxqh] {
    padding: 1.5rem 2rem;
    font-size: 0.85rem;
    color: #333333;
}

.footer-inner p[b-89pfw3wxqh] {
    margin: 0 0 0.75rem 0;
}

.footer-links[b-89pfw3wxqh] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.footer-links a[b-89pfw3wxqh] {
    color: #353895;
}

.footer-note[b-89pfw3wxqh] {
    color: #555555;
    font-style: italic;
}

@media (max-width: 600px) {
    .footer-inner[b-89pfw3wxqh] {
        padding: 1.25rem 1rem;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-fk7uy8rtge] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main[b-fk7uy8rtge] {
    flex: 1;
}

.content[b-fk7uy8rtge] {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

#blazor-error-ui[b-fk7uy8rtge] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-fk7uy8rtge] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.topbar[b-4s4ecnsbww] {
    background-color: #353895;
    min-height: 3.5rem;
    --focus-ring: #ffbf47; /* gold reads on the dark blue; dark rings don't */
}

.topbar-inner[b-4s4ecnsbww] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 1.5rem;
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
}

.navbar-brand[b-4s4ecnsbww] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    white-space: normal;
    min-width: 0;
    line-height: 1.25;
}

.navbar-toggler[b-4s4ecnsbww] {
    appearance: none;
    cursor: pointer;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 4px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.5rem rgba(255, 255, 255, 0.1);
    display: none;
}

.navbar-toggler:focus-visible[b-4s4ecnsbww] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.topnav[b-4s4ecnsbww] {
    display: flex;
    gap: 0.25rem;
}

.topnav[b-4s4ecnsbww]  .nav-link {
    color: #eeeef8;
    text-decoration: none;
    padding: 0.6rem 0.8rem;
    border-radius: 4px;
    font-size: 0.95rem;
    white-space: nowrap;
}

.topnav[b-4s4ecnsbww]  .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.topnav[b-4s4ecnsbww]  .nav-link:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 1px;
}

.topnav[b-4s4ecnsbww]  a.active {
    background-color: rgba(255, 255, 255, 0.25);
    color: #fff;
    font-weight: 600;
}

@media (max-width: 1100px) {
    .topbar-inner[b-4s4ecnsbww] {
        padding: 0.5rem 1rem;
    }

    .navbar-toggler[b-4s4ecnsbww] {
        display: block;
    }

    .topnav[b-4s4ecnsbww] {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: #353895;
        padding: 0.25rem 1rem 1rem 1rem;
        z-index: 1100;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
    }

    .navbar-toggler:checked ~ .topnav[b-4s4ecnsbww] {
        display: flex;
    }

    .topnav[b-4s4ecnsbww]  .nav-link {
        min-height: 44px;
        display: flex;
        align-items: center;
        font-size: 1rem;
    }
}

@media (max-width: 400px) {
    .navbar-brand[b-4s4ecnsbww] {
        font-size: 1rem;
    }
}

.topnav[b-4s4ecnsbww]  .admin-link {
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.signout-form[b-4s4ecnsbww] {
    display: flex;
    margin: 0;
}

.signout-button[b-4s4ecnsbww] {
    background: none;
    border: none;
    color: #eeeef8;
    padding: 0.6rem 0.8rem;
    border-radius: 4px;
    font: inherit;
    font-size: 0.95rem;
    cursor: pointer;
    white-space: nowrap;
}

.signout-button:hover[b-4s4ecnsbww] {
    background-color: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.signout-button:focus-visible[b-4s4ecnsbww] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 1px;
}

@media (max-width: 1100px) {
    .signout-button[b-4s4ecnsbww] {
        min-height: 44px;
        width: 100%;
        text-align: left;
        font-size: 1rem;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-mpf0rnols3],
.components-reconnect-repeated-attempt-visible[b-mpf0rnols3],
.components-reconnect-failed-visible[b-mpf0rnols3],
.components-pause-visible[b-mpf0rnols3],
.components-resume-failed-visible[b-mpf0rnols3],
.components-rejoining-animation[b-mpf0rnols3] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-mpf0rnols3],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-mpf0rnols3],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-mpf0rnols3],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-mpf0rnols3],
#components-reconnect-modal.components-reconnect-retrying[b-mpf0rnols3],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-mpf0rnols3],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-mpf0rnols3],
#components-reconnect-modal.components-reconnect-failed[b-mpf0rnols3],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-mpf0rnols3] {
    display: block;
}


#components-reconnect-modal[b-mpf0rnols3] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-mpf0rnols3 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-mpf0rnols3 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-mpf0rnols3 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-mpf0rnols3]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-mpf0rnols3 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-mpf0rnols3 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-mpf0rnols3 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-mpf0rnols3 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-mpf0rnols3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-mpf0rnols3] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-mpf0rnols3] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-mpf0rnols3] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-mpf0rnols3] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-mpf0rnols3] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-mpf0rnols3] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-mpf0rnols3 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-mpf0rnols3] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-mpf0rnols3 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/Import.razor.rz.scp.css */

.format-help[b-wr7emjg9eq] {
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    margin: 1rem 0;
    background: #fff;
}

.format-help summary[b-wr7emjg9eq] {
    cursor: pointer;
    font-weight: 600;
    color: #353895;
    min-height: 44px;
    display: flex;
    align-items: center;
}

.import-step[b-wr7emjg9eq] {
    margin-top: 1.75rem;
}

.import-step h2[b-wr7emjg9eq] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.3rem;
}

.step-number[b-wr7emjg9eq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: #353895;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

.file-label[b-wr7emjg9eq] {
    display: block;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

[b-wr7emjg9eq] .file-input {
    display: block;
    width: 100%;
    max-width: 480px;
    padding: 0.6rem;
    border: 2px dashed #353895;
    border-radius: 0.5rem;
    background: #f1f4f9;
    min-height: 44px;
}

[b-wr7emjg9eq] .file-input:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.status-line[b-wr7emjg9eq] {
    min-height: 1.5rem;
    margin-top: 0.5rem;
}

.inline-error[b-wr7emjg9eq] {
    color: #a1261b;
    font-weight: 600;
}

.import-success[b-wr7emjg9eq] {
    margin-top: 1.5rem;
    padding: 1rem 1.25rem;
    border-left: 4px solid #316735;
    background: #e1ede2;
    border-radius: 0 0.5rem 0.5rem 0;
}

.import-success h2[b-wr7emjg9eq] {
    margin-top: 0;
    font-size: 1.25rem;
}

.file-facts[b-wr7emjg9eq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 0.5rem 1.5rem;
    margin: 0 0 1rem 0;
}

.file-facts dt[b-wr7emjg9eq] {
    font-size: 0.85rem;
    color: #505050;
    font-weight: 600;
}

.file-facts dd[b-wr7emjg9eq] {
    margin: 0;
}

.file-errors[b-wr7emjg9eq],
.file-warnings[b-wr7emjg9eq] {
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
}

.file-errors[b-wr7emjg9eq] {
    background: #fbe9e7;
    border-left: 4px solid #a1261b;
}

.file-warnings[b-wr7emjg9eq] {
    background: #fff4d6;
    border-left: 4px solid #7a5b00;
}

.file-errors h3[b-wr7emjg9eq],
.file-warnings h3[b-wr7emjg9eq] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 1.05rem;
    margin: 0 0 0.4rem 0;
}

.count-grid[b-wr7emjg9eq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.count-card[b-wr7emjg9eq] {
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    background: #fff;
}

.count-card.ready[b-wr7emjg9eq] { border-left: 4px solid #316735; }
.count-card.warning[b-wr7emjg9eq] { border-left: 4px solid #7a5b00; }
.count-card.error[b-wr7emjg9eq] { border-left: 4px solid #a1261b; }

.count-value[b-wr7emjg9eq] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #222222;
}

.row-filter[b-wr7emjg9eq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.filter-chip[b-wr7emjg9eq] {
    min-height: 44px;
    padding: 0.4rem 1rem;
    border: 1px solid #353895;
    border-radius: 999px;
    background: #fff;
    color: #353895;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.filter-chip.selected[b-wr7emjg9eq] {
    background: #353895;
    color: #fff;
}

.filter-chip:focus-visible[b-wr7emjg9eq] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.row-list[b-wr7emjg9eq] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.row-card[b-wr7emjg9eq] {
    border: 1px solid #d0d7de;
    border-left-width: 4px;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    background: #fff;
}

.row-card.status-error[b-wr7emjg9eq] { border-left-color: #a1261b; }
.row-card.status-warning[b-wr7emjg9eq] { border-left-color: #7a5b00; }
.row-card.status-ready[b-wr7emjg9eq] { border-left-color: #316735; }

.row-head[b-wr7emjg9eq] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.row-status[b-wr7emjg9eq] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-weight: 700;
}

.status-error .row-status[b-wr7emjg9eq] { color: #a1261b; }
.status-warning .row-status[b-wr7emjg9eq] { color: #7a5b00; }
.status-ready .row-status[b-wr7emjg9eq] { color: #316735; }

.row-number[b-wr7emjg9eq] {
    color: #505050;
    font-size: 0.9rem;
}

.row-title[b-wr7emjg9eq] {
    margin: 0.35rem 0 0 0;
}

.row-action[b-wr7emjg9eq] {
    margin: 0.25rem 0 0 0;
    font-size: 0.9rem;
    color: #505050;
}

.issues[b-wr7emjg9eq] {
    margin: 0.5rem 0 0 0;
    padding-left: 1.25rem;
}

.issues li[b-wr7emjg9eq] {
    margin-bottom: 0.25rem;
}

.issue-error strong[b-wr7emjg9eq] { color: #a1261b; }
.issue-warning strong[b-wr7emjg9eq] { color: #7a5b00; }
/* /Components/Pages/Admin/Index.razor.rz.scp.css */
.admin-tasks[b-93uqsd9ii0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: 1rem;
    margin: 1rem 0 1.5rem 0;
}

.admin-task[b-93uqsd9ii0] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 1.25rem;
    border: 1px solid #d0d7de;
    border-left: 4px solid #353895;
    border-radius: 0.5rem;
    background: #fff;
    color: #222222;
    text-decoration: none;
}

.admin-task:hover[b-93uqsd9ii0] {
    background: #f1f4f9;
}

.admin-task:focus-visible[b-93uqsd9ii0] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.admin-task-title[b-93uqsd9ii0] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #353895;
    text-decoration: underline;
}

.last-import[b-93uqsd9ii0] {
    color: #505050;
}
/* /Components/Pages/Admin/ProjectMediaManager.razor.rz.scp.css */
.subtitle[b-bz9s35hx2q] {
    color: #505050;
}

.media-section[b-bz9s35hx2q] {
    margin-top: 1.75rem;
}

.media-section h2[b-bz9s35hx2q] {
    font-size: 1.3rem;
}

.media-form[b-bz9s35hx2q] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 640px;
}

.media-field[b-bz9s35hx2q] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.media-field label[b-bz9s35hx2q],
.field-label[b-bz9s35hx2q] {
    font-weight: 600;
}

.field-help[b-bz9s35hx2q] {
    color: #505050;
    font-size: 0.9rem;
    margin: 0;
}

[b-bz9s35hx2q] .form-control {
    min-height: 44px;
}

[b-bz9s35hx2q] .file-input {
    display: block;
    width: 100%;
    padding: 0.6rem;
    border: 2px dashed #353895;
    border-radius: 0.5rem;
    background: #f1f4f9;
    min-height: 44px;
}

[b-bz9s35hx2q] .file-input:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.selected-file[b-bz9s35hx2q] {
    margin: 0;
}

.media-fieldset[b-bz9s35hx2q] {
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.media-fieldset legend[b-bz9s35hx2q] {
    font-weight: 700;
    font-size: 1rem;
    float: none;
    width: auto;
    padding: 0 0.35rem;
    margin: 0;
}

.upload-progress[b-bz9s35hx2q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.upload-progress label[b-bz9s35hx2q] {
    width: 100%;
    font-weight: 600;
}

.upload-progress progress[b-bz9s35hx2q] {
    flex: 1;
    min-width: 0;
    height: 1rem;
    accent-color: #353895;
}

.form-error[b-bz9s35hx2q] {
    background: #fbe9e7;
    border-left: 4px solid #a1261b;
    padding: 0.6rem 0.9rem;
    font-weight: 600;
    margin: 0;
}

.status-success[b-bz9s35hx2q] {
    background: #e1ede2;
    border-left: 4px solid #316735;
    padding: 0.6rem 0.9rem;
    font-weight: 600;
}

.form-actions[b-bz9s35hx2q] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.media-admin-list[b-bz9s35hx2q] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.media-admin-item[b-bz9s35hx2q] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    background: #fff;
}

@media (min-width: 700px) {
    .media-admin-item[b-bz9s35hx2q] {
        grid-template-columns: 260px minmax(0, 1fr);
        align-items: start;
    }
}

.media-admin-details p[b-bz9s35hx2q] {
    margin: 0 0 0.4rem 0;
}

.media-meta[b-bz9s35hx2q] {
    color: #505050;
    font-size: 0.9rem;
}
/* /Components/Pages/Admin/Projects.razor.rz.scp.css */
.admin-search[b-6tx5sfuxwz] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-width: 420px;
    margin-bottom: 1rem;
}

.admin-search label[b-6tx5sfuxwz] {
    font-weight: 600;
}

[b-6tx5sfuxwz] .admin-search-input {
    width: 100%;
}

.admin-project-list[b-6tx5sfuxwz] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.admin-project[b-6tx5sfuxwz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    background: #fff;
}

.admin-project-info[b-6tx5sfuxwz] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.admin-project-meta[b-6tx5sfuxwz] {
    color: #505050;
    font-size: 0.9rem;
}

.admin-project-link[b-6tx5sfuxwz] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 1rem;
    border-radius: 4px;
    background: #353895;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
}

.admin-project-link:hover[b-6tx5sfuxwz] {
    background: #2a2c76;
    color: #ffffff;
}

.admin-project-link:focus-visible[b-6tx5sfuxwz] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}
/* /Components/Pages/ArpaSpotlight.razor.rz.scp.css */
.section-heading[b-h6r646rdo7] {
    margin-top: 2rem;
    font-size: 1.35rem;
}

.arpa-story-callout[b-h6r646rdo7] {
    border: 1px solid #d0d7de;
    border-left: 4px solid #316735;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    margin: 1rem 0 1.5rem 0;
    background: #f6faf6;
}

.arpa-story-callout h2[b-h6r646rdo7] {
    font-size: 1.2rem;
    margin: 0 0 0.4rem 0;
}

.arpa-story-callout p[b-h6r646rdo7] {
    margin: 0 0 0.75rem 0;
    max-width: 70ch;
}

.arpa-story-actions[b-h6r646rdo7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
}

.arpa-story-actions a[b-h6r646rdo7] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-weight: 600;
}

.arpa-story-actions .arpa-story-button[b-h6r646rdo7] {
    padding: 0 1rem;
    border-radius: 6px;
    background: #353895;
    color: #ffffff;
    text-decoration: none;
}

.arpa-story-actions .arpa-story-button:hover[b-h6r646rdo7] {
    background: #2a2c76;
}

.arpa-story-actions a:focus-visible[b-h6r646rdo7] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.summary-banner[b-9jk8owjcxb] {
    background: #f1f4f9;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    margin: 0 0 1rem 0;
}

.empty-state[b-9jk8owjcxb] {
    padding: 1.5rem;
    background: #f1f4f9;
    border-radius: 0.5rem;
}

.hidden[b-9jk8owjcxb] {
    display: none;
}

.read-story-link[b-9jk8owjcxb] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 0.25rem;
    font-weight: 600;
}

.read-story-link:focus-visible[b-9jk8owjcxb] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

/* Map + results */

.dashboard-layout[b-9jk8owjcxb] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

#statewide-map[b-9jk8owjcxb] {
    height: 55vh;
    min-height: 300px;
    max-height: 520px;
    width: 100%;
    border-radius: 0.5rem;
    border: 1px solid #d0d7de;
}

.map-note[b-9jk8owjcxb] {
    font-size: 0.85rem;
    color: #505050;
    margin: 0.4rem 0 0 0;
}

.unmapped-note[b-9jk8owjcxb] {
    background: #fff4d6;
    border-left: 4px solid #7a5b00;
    padding: 0.6rem 0.8rem;
    font-size: 0.9rem;
}

@media (min-width: 992px) {
    .dashboard-layout[b-9jk8owjcxb] {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
        align-items: start;
    }

    .map-pane[b-9jk8owjcxb] {
        position: sticky;
        top: 1rem;
    }

    #statewide-map[b-9jk8owjcxb] {
        height: 640px;
        max-height: none;
    }

    .list-pane[b-9jk8owjcxb] {
        max-height: 680px;
        overflow-y: auto;
        padding-right: 0.25rem;
    }
}

.list-pane h2[b-9jk8owjcxb] {
    font-size: 1.25rem;
    margin-top: 0;
}

.project-list[b-9jk8owjcxb] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: 1rem;
}

@media (min-width: 992px) {
    .project-list[b-9jk8owjcxb] {
        grid-template-columns: 1fr;
    }
}

.project-card[b-9jk8owjcxb] {
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 1rem;
    background: #fff;
}

.project-card h3[b-9jk8owjcxb] {
    margin: 0 0 0.25rem 0;
    font-size: 1.1rem;
}

.project-meta[b-9jk8owjcxb] {
    color: #505050;
    font-size: 0.9rem;
    margin: 0 0 0.5rem 0;
}

.project-description[b-9jk8owjcxb] {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.project-amount[b-9jk8owjcxb] {
    margin: 0;
}

.card-actions[b-9jk8owjcxb] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

.not-mapped[b-9jk8owjcxb] {
    font-size: 0.85rem;
    color: #505050;
    font-style: italic;
}

.card-photo[b-9jk8owjcxb] {
    display: block;
    width: calc(100% + 2rem);
    max-width: none;
    height: 160px;
    margin: -1rem -1rem 0.75rem -1rem;
    object-fit: cover;
    border-radius: 0.5rem 0.5rem 0 0;
    border-bottom: 1px solid #d0d7de;
}

.sort-note[b-9jk8owjcxb] {
    color: #505050;
    font-size: 0.9rem;
    margin: -0.4rem 0 0.75rem 0;
}

.results-header[b-9jk8owjcxb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 0.5rem;
}

.results-header h2[b-9jk8owjcxb] {
    margin: 0;
}

.sort-control[b-9jk8owjcxb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sort-control label[b-9jk8owjcxb] {
    font-weight: 600;
    font-size: 0.9rem;
    white-space: nowrap;
}

.sort-control select[b-9jk8owjcxb] {
    min-height: 44px;
    width: auto;
    min-width: 11rem;
}

.sort-control select:focus-visible[b-9jk8owjcxb] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

/* Guided story */

.summary-row[b-9jk8owjcxb] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.summary-row .summary-banner[b-9jk8owjcxb] {
    flex: 1 1 22rem;
    margin: 0;
}

.story-resume[b-9jk8owjcxb] {
    min-height: 44px;
    padding: 0.5rem 1rem;
    border: 1px solid #316735;
    border-radius: 6px;
    background: #ffffff;
    color: #316735;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.story-resume:hover[b-9jk8owjcxb] {
    background: #e1ede2;
}

.story-resume:focus-visible[b-9jk8owjcxb] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

/* On phones and tablets the map stays pinned to the top while the story or the results scroll under
   it, so the map responds visibly to each story step, "Show on map" and filter change. */
@media (max-width: 991.98px) {
    .map-pane[b-9jk8owjcxb] {
        position: sticky;
        top: 0;
        z-index: 500;
        background: #ffffff;
        padding-bottom: 0.25rem;
    }

    #statewide-map[b-9jk8owjcxb] {
        height: 38vh;
        min-height: 200px;
    }

    .map-note[b-9jk8owjcxb] {
        font-size: 0.8rem;
        margin-top: 0.25rem;
    }

    .story-mode .map-note[b-9jk8owjcxb] {
        display: none;
    }

    /* Anything scrolled or focused into view (a step heading with its "Step n of 6" line, a result
       card's buttons when a dialog closes) lands below the pinned map instead of behind it. */
    .story-mode[b-9jk8owjcxb]  .story-title {
        scroll-margin-top: calc(max(38vh, 200px) + 3.25rem);
    }

    .list-pane h2[b-9jk8owjcxb],
    .project-card[b-9jk8owjcxb],
    .project-card[b-9jk8owjcxb]  button,
    .project-card[b-9jk8owjcxb]  a {
        scroll-margin-top: calc(max(38vh, 200px) + 3.5rem);
    }
}

/* Short landscape phones: a pinned map would leave no room to read. */
@media (max-width: 991.98px) and (max-height: 500px) {
    .map-pane[b-9jk8owjcxb] {
        position: static;
    }

    .story-mode[b-9jk8owjcxb]  .story-title,
    .list-pane h2[b-9jk8owjcxb],
    .project-card[b-9jk8owjcxb],
    .project-card[b-9jk8owjcxb]  button,
    .project-card[b-9jk8owjcxb]  a {
        scroll-margin-top: 0;
    }
}

/* Desktop, map and story side by side: during a guided story the story is the focus, so its column
   takes the larger share. The map narrows but stays in view and keeps following each step. */
@media (min-width: 992px) {
    .story-pane[b-9jk8owjcxb] {
        max-height: 680px;
    }

    .dashboard-layout[b-9jk8owjcxb] {
        transition: grid-template-columns 0.35s ease;
    }

    .dashboard-layout.story-mode[b-9jk8owjcxb] {
        grid-template-columns: minmax(0, 1fr) minmax(480px, 1.2fr);
    }
}

@media (min-width: 992px) and (prefers-reduced-motion: reduce) {
    .dashboard-layout[b-9jk8owjcxb] {
        transition: none;
    }
}

/* Map key: sector colours and shapes, drawn with the same classes as the markers. */
.map-legend[b-9jk8owjcxb] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 1rem;
    margin: 0.5rem 0 0 0;
    padding: 0;
    font-size: 0.85rem;
}

.map-legend li[b-9jk8owjcxb] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.map-legend .legend-marker[b-9jk8owjcxb] {
    width: 14px;
    height: 14px;
    border-width: 1px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45);
    flex: none;
}

.map-legend .legend-marker.sector-diamond[b-9jk8owjcxb] {
    transform: rotate(45deg) scale(0.8);
}

.map-legend .legend-marker.sector-pill[b-9jk8owjcxb] {
    width: 20px;
    height: 11px;
}

.map-legend .legend-marker.sector-ring[b-9jk8owjcxb] {
    box-shadow: 0 0 0 1px #ffffff, 0 0 0 3px #505050;
}

.map-legend .legend-note[b-9jk8owjcxb] {
    color: #505050;
}

@media (max-width: 991.98px) {
    .map-legend[b-9jk8owjcxb] {
        font-size: 0.78rem;
        gap: 0.15rem 0.75rem;
        margin-top: 0.3rem;
    }
}

.summary-label[b-9jk8owjcxb] {
    font-weight: 700;
    color: #316735;
}

.story-buttons-row[b-9jk8owjcxb] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.story-resume.secondary[b-9jk8owjcxb] {
    border-color: #353895;
    color: #353895;
}

.story-resume.secondary:hover[b-9jk8owjcxb] {
    background: #e7e9f6;
}

.project-card h3 .project-link[b-9jk8owjcxb] {
    color: #222222;
    text-decoration: underline;
    text-decoration-color: #8a8cc7;
    text-underline-offset: 3px;
}

.project-card h3 .project-link:hover[b-9jk8owjcxb] {
    color: #353895;
    text-decoration-color: currentColor;
}

.link-button[b-9jk8owjcxb] {
    display: inline;
    padding: 0;
    border: 0;
    background: none;
    color: #353895;
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.project-link:focus-visible[b-9jk8owjcxb],
.link-button:focus-visible[b-9jk8owjcxb] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

/* Phones: the pinned map pane must stay short, so the town-centre caveat moves into the key. */
.legend-phone-only[b-9jk8owjcxb] {
    display: none;
}

@media (max-width: 991.98px) {
    .map-legend .legend-phone-only[b-9jk8owjcxb] {
        display: inline-flex;
    }

    .map-pane .map-note[b-9jk8owjcxb] {
        display: none;
    }
}
/* /Components/Pages/ProjectPage.razor.rz.scp.css */
.breadcrumbs ol[b-d0ssaz847p] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 0.4rem;
    padding: 0;
    margin: 0 0 0.75rem 0;
    font-size: 0.95rem;
}

.breadcrumbs li[b-d0ssaz847p] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

.breadcrumbs li + li[b-d0ssaz847p]::before {
    content: "›";
    margin-right: 0.4rem;
    color: #505050;
}

.breadcrumbs li[aria-current="page"][b-d0ssaz847p] {
    color: #505050;
}

.subtitle[b-d0ssaz847p] {
    color: #505050;
    margin: -0.25rem 0 0.5rem 0;
}

.project-layout[b-d0ssaz847p] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 1rem;
}

@media (min-width: 992px) {
    .project-layout[b-d0ssaz847p] {
        grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr);
        align-items: start;
    }
}

.project-main section + section[b-d0ssaz847p],
.project-main aside + section[b-d0ssaz847p],
.project-main section + aside[b-d0ssaz847p] {
    margin-top: 1.5rem;
}

.project-layout h2[b-d0ssaz847p],
.nearby h2[b-d0ssaz847p] {
    font-size: 1.3rem;
    margin: 0 0 0.5rem 0;
}

.project-description[b-d0ssaz847p] {
    font-size: 1.1rem;
    line-height: 1.6;
    max-width: 70ch;
}

.source-note[b-d0ssaz847p],
.map-note[b-d0ssaz847p] {
    color: #505050;
    font-size: 0.85rem;
}

.story-callout[b-d0ssaz847p] {
    border: 1px solid #d0d7de;
    border-left: 4px solid #316735;
    border-radius: 0.5rem;
    padding: 1rem;
    background: #f6faf6;
}

.story-callout h2[b-d0ssaz847p] {
    font-size: 1.15rem;
}

.button-link[b-d0ssaz847p],
.share-button[b-d0ssaz847p] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 1rem;
    border-radius: 6px;
    border: 1px solid #353895;
    background: #353895;
    color: #ffffff;
    font: inherit;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.button-link:hover[b-d0ssaz847p],
.share-button:hover[b-d0ssaz847p] {
    background: #2a2c76;
    color: #ffffff;
}

.button-link:focus-visible[b-d0ssaz847p],
.share-button:focus-visible[b-d0ssaz847p],
.nearby-card a:focus-visible[b-d0ssaz847p] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.side-card[b-d0ssaz847p] {
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 1rem;
    background: #ffffff;
}

.side-card + .side-card[b-d0ssaz847p] {
    margin-top: 1rem;
}

.project-total[b-d0ssaz847p] {
    font-size: 1.1rem;
}

.project-total strong[b-d0ssaz847p] {
    font-size: 1.5rem;
    color: #353895;
}

.project-date[b-d0ssaz847p] {
    color: #505050;
}

#project-map[b-d0ssaz847p] {
    height: 240px;
    width: 100%;
    border-radius: 0.5rem;
    border: 1px solid #d0d7de;
}

.nearby[b-d0ssaz847p] {
    margin-top: 2rem;
}

.nearby-list[b-d0ssaz847p] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
    gap: 1rem;
}

.nearby-card[b-d0ssaz847p] {
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 1rem;
    background: #ffffff;
}

.nearby-card h3[b-d0ssaz847p] {
    font-size: 1.05rem;
    margin: 0 0 0.25rem 0;
}

.nearby-where[b-d0ssaz847p] {
    color: #505050;
    font-size: 0.9rem;
    margin: 0 0 0.5rem 0;
}

.nearby-amount[b-d0ssaz847p] {
    margin: 0;
}

.share-row[b-d0ssaz847p] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    margin: 2rem 0 1rem 0;
}

.share-status[b-d0ssaz847p] {
    margin: 0;
    color: #316735;
    font-weight: 600;
}

.where-fits[b-d0ssaz847p] {
    margin-top: 2rem;
}

.fits-narrative[b-d0ssaz847p] {
    max-width: 75ch;
}
/* /Components/Pages/ProjectStories.razor.rz.scp.css */
.empty-state[b-k57uvimsvt] {
    padding: 1.5rem;
    background: #f1f4f9;
    border-radius: 0.5rem;
}

.story-count[b-k57uvimsvt] {
    color: #505050;
}

.story-grid[b-k57uvimsvt] {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    gap: 1.25rem;
}

.story-tile[b-k57uvimsvt] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #ffffff;
    border: 1px solid #d0d7de;
    border-top: 4px solid #316735;
    border-radius: 0.5rem;
    overflow: hidden;
}

.story-tile:hover[b-k57uvimsvt] {
    border-color: #353895;
    border-top-color: #316735;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* The title link covers the whole tile so the card is one large target, but only the title is
   announced as the link. */
.story-tile-title a[b-k57uvimsvt]::after {
    content: "";
    position: absolute;
    inset: 0;
}

.story-tile:focus-within[b-k57uvimsvt] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.story-tile-title a:focus[b-k57uvimsvt] {
    outline: none;
}

.story-tile-photo[b-k57uvimsvt] {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-bottom: 1px solid #d0d7de;
}

.story-tile-body[b-k57uvimsvt] {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1rem;
}

.story-tile-title[b-k57uvimsvt] {
    font-family: Cambria, Georgia, "Times New Roman", serif;
    font-size: 1.3rem;
    line-height: 1.25;
    margin: 0 0 0.25rem 0;
}

.story-tile-meta[b-k57uvimsvt] {
    color: #505050;
    font-size: 0.9rem;
    margin: 0 0 0.5rem 0;
}

.story-tile-description[b-k57uvimsvt] {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 0.75rem 0;
}

.story-tile-amount[b-k57uvimsvt] {
    margin: auto 0 0 0;
}
/* /Components/Pages/StoryMap.razor.rz.scp.css */
.back-links[b-3m9ydclndq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.5rem;
    margin-bottom: 0.75rem;
}

.back-link[b-3m9ydclndq] {
    display: inline-block;
    min-height: 44px;
    line-height: 44px;
}

.subtitle[b-3m9ydclndq] {
    color: #505050;
    margin-top: -0.25rem;
}

/* Phones and tablets: chapter chips, then a map pinned to the top while chapters scroll under it. */
.story-layout[b-3m9ydclndq] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "outline"
        "map"
        "content";
    gap: 1rem;
    margin-top: 1rem;
}

.story-outline[b-3m9ydclndq] {
    grid-area: outline;
}

.story-map-pane[b-3m9ydclndq] {
    grid-area: map;
    position: sticky;
    top: 0;
    z-index: 5;
    background: #fff;
    padding: 0.25rem 0;
}

.story-content[b-3m9ydclndq] {
    grid-area: content;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

#story-map[b-3m9ydclndq] {
    height: 35vh;
    min-height: 200px;
    width: 100%;
    border-radius: 0.5rem;
    border: 1px solid #d0d7de;
}

.story-outline ol[b-3m9ydclndq] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.outline-item[b-3m9ydclndq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 44px;
    text-align: left;
    background: #fff;
    border: 1px solid #d0d7de;
    border-radius: 0.35rem;
    padding: 0.4rem 0.7rem;
    color: #222222;
    cursor: pointer;
    font: inherit;
}

.outline-item:hover[b-3m9ydclndq] {
    background: #f1f4f9;
}

.outline-item.active[b-3m9ydclndq] {
    border-color: #353895;
    background: #dde0f3;
    font-weight: 600;
}

.outline-item:focus-visible[b-3m9ydclndq] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 1px;
}

.outline-number[b-3m9ydclndq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: #353895;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
}

.story-chapter[b-3m9ydclndq] {
    scroll-margin-top: calc(35vh + 1.5rem);
}

.story-chapter h2[b-3m9ydclndq] {
    font-size: 1.35rem;
}




.chapter-nav[b-3m9ydclndq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e5e5;
}

.chapter-progress[b-3m9ydclndq] {
    color: #505050;
    font-size: 0.9rem;
}

/* Desktop: outline | chapters | map side by side */
@media (min-width: 1100px) {
    .story-layout[b-3m9ydclndq] {
        grid-template-columns: 220px minmax(0, 1fr) 380px;
        grid-template-areas: "outline content map";
        gap: 1.5rem;
        align-items: start;
    }

    .story-outline[b-3m9ydclndq] {
        position: sticky;
        top: 1rem;
    }

    .story-outline ol[b-3m9ydclndq] {
        flex-direction: column;
    }

    .story-map-pane[b-3m9ydclndq] {
        top: 1rem;
        padding: 0;
    }

    #story-map[b-3m9ydclndq] {
        height: 440px;
    }

    .story-chapter[b-3m9ydclndq] {
        scroll-margin-top: 1rem;
    }
}
/* /Components/Pages/Timeline.razor.rz.scp.css */
.empty-state[b-vq1iyleox8] {
    padding: 1.5rem;
    background: #f1f4f9;
    border-radius: 0.5rem;
}

.timeline-section[b-vq1iyleox8] {
    margin-top: 1rem;
}

.timeline-head[b-vq1iyleox8] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
}

.timeline-heading[b-vq1iyleox8] {
    font-size: 1.5rem;
    margin: 0;
}

.timeline-subtitle[b-vq1iyleox8] {
    margin: 0.2rem 0 0 0;
    color: #505050;
}

/* By year / Every project: a radio group styled as a segmented control */
.view-toggle[b-vq1iyleox8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    border: 0;
    margin: 0;
    padding: 0;
}

.view-toggle legend[b-vq1iyleox8] {
    float: left;
    margin: 0 0.25rem 0 0;
    padding: 0;
    font-weight: 600;
    font-size: 0.95rem;
}

.view-toggle label[b-vq1iyleox8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 44px;
    padding: 0 0.9rem;
    border: 1px solid #353895;
    border-radius: 6px;
    color: #353895;
    font-weight: 600;
    cursor: pointer;
}

.view-toggle label.selected[b-vq1iyleox8] {
    background: #353895;
    color: #ffffff;
}

.view-toggle input[b-vq1iyleox8] {
    accent-color: #ffffff;
}

.view-toggle label:focus-within[b-vq1iyleox8] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.timeline-narrative[b-vq1iyleox8] {
    font-size: 1.1rem;
    line-height: 1.55;
    max-width: 75ch;
    margin: 0.9rem 0 0.25rem 0;
}

.timeline-note[b-vq1iyleox8] {
    color: #505050;
    font-size: 0.85rem;
    margin: 0 0 0.5rem 0;
}

.timeline-actions[b-vq1iyleox8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
    margin-top: 0.5rem;
}

.timeline-action-link[b-vq1iyleox8] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-weight: 600;
}

.timeline-copy[b-vq1iyleox8] {
    min-height: 44px;
    padding: 0 1rem;
    border: 1px solid #353895;
    border-radius: 6px;
    background: #ffffff;
    color: #353895;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.timeline-copy:hover[b-vq1iyleox8] {
    background: #e7e9f6;
}

.timeline-action-link:focus-visible[b-vq1iyleox8],
.timeline-copy:focus-visible[b-vq1iyleox8] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.timeline-copy-status[b-vq1iyleox8] {
    flex-basis: 100%;
    margin: 0;
    min-height: 1.2rem;
    color: #316735;
    font-weight: 600;
}
/* /Components/Shared/AdminNav.razor.rz.scp.css */
.admin-nav[b-fk0c86d3w3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.5rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 1.25rem;
    background: #f1f4f9;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
}

.admin-nav-label[b-fk0c86d3w3] {
    font-weight: 700;
    color: #353895;
    margin-right: 0.5rem;
}

.admin-nav[b-fk0c86d3w3]  a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 0.75rem;
    border-radius: 4px;
    color: #222222;
    text-decoration: none;
}

.admin-nav[b-fk0c86d3w3]  a:hover {
    background: #dde0f3;
}

.admin-nav[b-fk0c86d3w3]  a.active {
    background: #353895;
    color: #ffffff;
    font-weight: 600;
}

.admin-nav[b-fk0c86d3w3]  a:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}
/* /Components/Shared/ArpaProjectList.razor.rz.scp.css */
.arpa-list[b-brqsij399v] {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    gap: 1rem;
}

.arpa-card[b-brqsij399v] {
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 1rem;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.arpa-card h3[b-brqsij399v] {
    margin: 0 0 0.25rem 0;
    font-size: 1.1rem;
}

.arpa-meta[b-brqsij399v] {
    color: #505050;
    font-size: 0.9rem;
    margin: 0 0 0.5rem 0;
}

.arpa-description[b-brqsij399v] {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}
/* /Components/Shared/FundingBar.razor.rz.scp.css */
.funding-bar[b-y3rsndcmve] {
    display: flex;
    width: 100%;
    height: 28px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #d0d7de;
    margin: 0.5rem 0 0.75rem 0;
}

.funding-bar-segment[b-y3rsndcmve] {
    display: block;
    height: 100%;
    min-width: 3px;
}

.funding-bar-segment + .funding-bar-segment[b-y3rsndcmve] {
    border-left: 2px solid #ffffff;
}

.funding-legend[b-y3rsndcmve] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.funding-legend li[b-y3rsndcmve] {
    display: grid;
    grid-template-columns: 14px 1fr auto;
    column-gap: 0.5rem;
    align-items: baseline;
}

.funding-swatch[b-y3rsndcmve] {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    align-self: center;
}

.funding-legend-label[b-y3rsndcmve] {
    font-weight: 600;
}

.funding-legend-amount[b-y3rsndcmve] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.funding-legend-explanation[b-y3rsndcmve] {
    grid-column: 2 / -1;
    color: #505050;
    font-size: 0.9rem;
}

/* Compact: for narrow side panels such as the map page's selection summary. */
.compact .funding-bar[b-y3rsndcmve] {
    height: 16px;
    margin: 0.35rem 0 0.5rem 0;
}

.compact .funding-legend[b-y3rsndcmve] {
    gap: 0.15rem;
    font-size: 0.9rem;
}

.compact .funding-swatch[b-y3rsndcmve] {
    width: 12px;
    height: 12px;
}

.compact .funding-legend li[b-y3rsndcmve] {
    grid-template-columns: 12px 1fr auto;
}
/* /Components/Shared/HomeStoryPanel.razor.rz.scp.css */
.story-panel[b-n53qjtx8cv] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: #ffffff;
    border: 1px solid #d0d7de;
    border-top: 4px solid #353895;
    border-radius: 0.5rem;
    padding: 1.25rem 1.25rem 0 1.25rem;
}

.story-meta[b-n53qjtx8cv] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.75rem;
}

.story-eyebrow[b-n53qjtx8cv] {
    font-weight: 700;
    color: #316735;
    font-size: 0.95rem;
}

.story-step-count[b-n53qjtx8cv] {
    color: #505050;
    font-size: 0.9rem;
}

.story-title[b-n53qjtx8cv] {
    font-family: Cambria, Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 3.2vw, 1.9rem);
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 0.75rem 0;
    color: #222222;
}

.story-title:focus[b-n53qjtx8cv] {
    outline: none;
}

.story-title:focus-visible[b-n53qjtx8cv] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 4px;
}

.story-text[b-n53qjtx8cv] {
    font-size: 1.05rem;
    line-height: 1.6;
    max-width: 68ch; /* comfortable reading length now the panel can be wide */
    margin: 0 0 0.75rem 0;
}

.story-subheading[b-n53qjtx8cv] {
    font-size: 1rem;
    font-weight: 700;
    margin: 1rem 0 0 0;
}

/* Big numbers */

.story-stats[b-n53qjtx8cv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.story-stat[b-n53qjtx8cv] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem;
    background: #f1f4f9;
    border-radius: 0.5rem;
}

.story-stat-value[b-n53qjtx8cv] {
    font-family: Cambria, Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 4vw, 2.3rem);
    font-weight: 700;
    line-height: 1.1;
    color: #353895;
}

.story-stat-value.accent[b-n53qjtx8cv] {
    color: #316735;
}

.story-source[b-n53qjtx8cv] {
    color: #505050;
    font-size: 0.85rem;
}

.story-mini-stats[b-n53qjtx8cv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.5rem;
    margin-top: 0.75rem;
}

.story-mini-stats p[b-n53qjtx8cv] {
    margin: 0;
}

/* Spotlight and project cards */

.story-spotlight[b-n53qjtx8cv] {
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-top: 0.5rem;
}

.story-spotlight h3[b-n53qjtx8cv] {
    font-size: 1.15rem;
    margin: 0 0 0.4rem 0;
}

.story-spotlight-label[b-n53qjtx8cv] {
    font-weight: 700;
    color: #316735;
    margin: 0 0 0.25rem 0;
}

.story-card-photo[b-n53qjtx8cv] {
    display: block;
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 0.35rem;
    margin-bottom: 0.5rem;
}

.story-card-actions[b-n53qjtx8cv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.story-cards[b-n53qjtx8cv] {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr));
    gap: 0.6rem;
}

.story-card[b-n53qjtx8cv] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    width: 100%;
    height: 100%;
    padding: 0.75rem;
    text-align: left;
    background: #ffffff;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    font: inherit;
    color: #222222;
    cursor: pointer;
}

.story-card:hover[b-n53qjtx8cv] {
    border-color: #353895;
    background: #f1f4f9;
}

.story-card:focus-visible[b-n53qjtx8cv] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.story-card-label[b-n53qjtx8cv] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #316735;
}

.story-card-title[b-n53qjtx8cv] {
    font-weight: 700;
    line-height: 1.25;
}

.story-card-town[b-n53qjtx8cv] {
    font-size: 0.9rem;
    color: #505050;
}

.story-card-amount[b-n53qjtx8cv] {
    margin-top: auto;
    padding-top: 0.3rem;
    font-weight: 700;
    color: #353895;
}

/* Your turn */

.story-doorways[b-n53qjtx8cv] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.story-doorway[b-n53qjtx8cv] {
    padding: 0.9rem 1rem;
    background: #f1f4f9;
    border-radius: 0.5rem;
}

.story-doorway h3[b-n53qjtx8cv] {
    font-size: 1.05rem;
    margin: 0 0 0.4rem 0;
}

.story-doorway p[b-n53qjtx8cv] {
    margin: 0 0 0.5rem 0;
}

.story-doorway label[b-n53qjtx8cv] {
    font-weight: 600;
    font-size: 0.9rem;
}

.story-town-row[b-n53qjtx8cv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.story-town-row select[b-n53qjtx8cv] {
    flex: 1;
    min-width: 0;
    min-height: 44px;
}

.story-links[b-n53qjtx8cv] {
    margin: 0;
    padding-left: 1.1rem;
}

.story-links li[b-n53qjtx8cv] {
    margin-bottom: 0.25rem;
}

/* Controls stay pinned to the bottom of the panel while a long step scrolls. */

.story-controls[b-n53qjtx8cv] {
    position: sticky;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0.5rem -1.25rem 0 -1.25rem;
    padding: 0.75rem 1.25rem;
    background: #ffffff;
    border-top: 1px solid #e5e5e5;
}

.story-dots[b-n53qjtx8cv] {
    list-style: none;
    display: flex;
    gap: 0.4rem;
    padding: 0;
    margin: 0;
}

.story-dots li[b-n53qjtx8cv] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d0d7de;
}

.story-dots li.done[b-n53qjtx8cv] {
    background: #8a8cc7;
}

.story-dots li.current[b-n53qjtx8cv] {
    background: #353895;
}

.story-buttons[b-n53qjtx8cv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: auto;
}

.story-button[b-n53qjtx8cv] {
    min-height: 44px;
    padding: 0 1.1rem;
    border-radius: 6px;
    border: 1px solid #353895;
    background: #353895;
    color: #ffffff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.story-button:hover[b-n53qjtx8cv] {
    background: #2a2c76;
}

.story-button.secondary[b-n53qjtx8cv] {
    background: #ffffff;
    color: #353895;
}

.story-button.secondary:hover[b-n53qjtx8cv] {
    background: #f1f4f9;
}

.story-button:disabled[b-n53qjtx8cv] {
    opacity: 0.5;
    cursor: not-allowed;
}

.story-button:focus-visible[b-n53qjtx8cv],
.story-skip:focus-visible[b-n53qjtx8cv] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.story-controls-left[b-n53qjtx8cv] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.story-skip[b-n53qjtx8cv] {
    min-height: 44px;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    color: #353895;
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.story-link[b-n53qjtx8cv] {
    font-weight: 600;
}

/* Phones: one compact row of controls so the pinned map and the text both have room.
   The step count above the title already says where the reader is, so the dots can go. */
@media (max-width: 480px) {
    .story-panel[b-n53qjtx8cv] {
        padding: 1rem 1rem 0 1rem;
    }

    .story-controls[b-n53qjtx8cv] {
        flex-wrap: nowrap;
        gap: 0.5rem;
        margin: 0.5rem -1rem 0 -1rem;
        padding: 0.5rem 1rem;
    }

    .story-dots[b-n53qjtx8cv],
    .next-detail[b-n53qjtx8cv] {
        display: none;
    }

    .story-buttons[b-n53qjtx8cv] {
        flex-wrap: nowrap;
    }

    .story-button[b-n53qjtx8cv] {
        padding: 0 0.85rem;
        white-space: nowrap;
    }
}
/* /Components/Shared/MediaGallery.razor.rz.scp.css */
.gallery[b-iv8devtnqb] {
    margin-bottom: 1rem;
}

.gallery-count[b-iv8devtnqb] {
    font-size: 0.9rem;
    color: #505050;
    margin: 0 0 0.4rem 0;
}

.gallery-thumbs[b-iv8devtnqb] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.gallery-thumb[b-iv8devtnqb] {
    width: 72px;
    height: 54px;
    padding: 0;
    border: 2px solid #d0d7de;
    border-radius: 0.35rem;
    background: #f1f4f9;
    cursor: pointer;
    overflow: hidden;
}

.gallery-thumb img[b-iv8devtnqb] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-thumb.selected[b-iv8devtnqb] {
    border-color: #353895;
    box-shadow: 0 0 0 2px #353895;
}

.gallery-thumb:focus-visible[b-iv8devtnqb] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}
/* /Components/Shared/MediaView.razor.rz.scp.css */
.media-figure[b-bb6drq0hiu] {
    margin: 0 0 1rem 0;
}

.media-photo[b-bb6drq0hiu],
.media-video[b-bb6drq0hiu] {
    display: block;
    width: 100%;
    max-height: 70vh;
    object-fit: contain;
    background: #f1f4f9;
    border-radius: 0.5rem;
    border: 1px solid #d0d7de;
}

.media-video[b-bb6drq0hiu] {
    background: #000;
}

figcaption[b-bb6drq0hiu] {
    font-size: 0.95rem;
    color: #333333;
    margin-top: 0.4rem;
}

.media-transcript[b-bb6drq0hiu] {
    margin-top: 0.5rem;
}

.media-transcript summary[b-bb6drq0hiu] {
    cursor: pointer;
    font-weight: 600;
    color: #353895;
    min-height: 44px;
    display: flex;
    align-items: center;
}

.media-transcript p[b-bb6drq0hiu] {
    white-space: pre-line;
    background: #f1f4f9;
    padding: 0.75rem;
    border-radius: 0.35rem;
    max-height: 300px;
    overflow-y: auto;
}
/* /Components/Shared/ProjectDetailDialog.razor.rz.scp.css */
.facts[b-biwmbr6rf4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
    gap: 0.75rem 1.25rem;
    margin: 0.5rem 0 1rem 0;
}

.facts dt[b-biwmbr6rf4] {
    font-size: 0.85rem;
    color: #505050;
    font-weight: 600;
}

.facts dd[b-biwmbr6rf4] {
    margin: 0;
}

.muted[b-biwmbr6rf4] {
    color: #505050;
    font-size: 0.85rem;
}

h3[b-biwmbr6rf4] {
    font-size: 1.05rem;
    margin-top: 1rem;
}





.dialog-actions[b-biwmbr6rf4] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

/* Stays visible while the visitor scrolls through a long project. */
.project-nav[b-biwmbr6rf4] {
    position: sticky;
    top: -1px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin: -0.5rem -0.25rem 0.75rem -0.25rem;
    padding: 0.5rem 0.25rem;
    background: #ffffff;
    border-bottom: 1px solid #e5e5e5;
}

.project-nav[b-biwmbr6rf4]  .rz-button {
    min-height: 44px;
}

.project-position[b-biwmbr6rf4] {
    color: #505050;
    font-size: 0.9rem;
    white-space: nowrap;
}

.project-title[b-biwmbr6rf4] {
    font-size: 1.35rem;
    margin: 0 0 0.5rem 0;
}
/* /Components/Shared/ProjectFilterBar.razor.rz.scp.css */
/* Filters: collapsible on small screens, always open on large ones */

.filter-section[b-zr2l19nfa3] {
    margin-bottom: 1rem;
}

.filter-header[b-zr2l19nfa3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.filter-title[b-zr2l19nfa3] {
    font-size: 1.1rem;
    margin: 0;
}

.filter-toggle[b-zr2l19nfa3] {
    min-height: 44px;
    padding: 0.5rem 1rem;
    border: 1px solid #353895;
    border-radius: 4px;
    background: #fff;
    color: #353895;
    font-weight: 600;
    cursor: pointer;
}

.filter-toggle:focus-visible[b-zr2l19nfa3] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.filter-bar[b-zr2l19nfa3] {
    display: none;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 0.75rem;
    padding: 1rem;
    background: #f1f4f9;
    border-radius: 0.5rem;
}

.filter-bar.open[b-zr2l19nfa3] {
    display: grid;
}

.filter-field[b-zr2l19nfa3] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.filter-field label[b-zr2l19nfa3] {
    font-weight: 600;
    font-size: 0.9rem;
}

[b-zr2l19nfa3] .filter-input {
    width: 100%;
}

@media (min-width: 600px) {
    .filter-bar[b-zr2l19nfa3] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filter-search[b-zr2l19nfa3] {
        grid-column: 1 / -1;
    }
}

@media (min-width: 992px) {
    .filter-toggle[b-zr2l19nfa3] {
        display: none;
    }

    .filter-bar[b-zr2l19nfa3],
    .filter-bar.open[b-zr2l19nfa3] {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: start;
    }

    .filter-search[b-zr2l19nfa3] {
        grid-column: span 2;
    }
}

@media (min-width: 1300px) {
    .filter-bar[b-zr2l19nfa3],
    .filter-bar.open[b-zr2l19nfa3] {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* "Project story / Has a story": a checkbox group laid out like the other fields so it lines up. */
.filter-check[b-zr2l19nfa3] {
    border: 0;
    margin: 0;
    padding: 0;
    min-inline-size: 0;
}

.filter-check legend[b-zr2l19nfa3] {
    float: left;
    width: 100%;
    margin: 0 0 0.25rem 0;
    padding: 0;
    font-weight: 600;
    font-size: 0.9rem;
    line-height: inherit;
}

.filter-field .check-label[b-zr2l19nfa3] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 44px;
    font-weight: 400;
    font-size: 1rem;
    white-space: nowrap;
    cursor: pointer;
}

.check-label input[b-zr2l19nfa3] {
    width: 1.25rem;
    height: 1.25rem;
    accent-color: #353895;
    cursor: pointer;
}

.check-label input:focus-visible[b-zr2l19nfa3] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.filter-title:focus[b-zr2l19nfa3] {
    outline: none;
}

.filter-title:focus-visible[b-zr2l19nfa3] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 4px;
}

/* Fields are top-aligned so their labels line up; the label-less Clear button sits on the input row. */
@media (min-width: 992px) {
    [b-zr2l19nfa3] .clear-btn {
        align-self: end;
        justify-self: start;
    }
}

/* /Components/Shared/SelectionSummary.razor.rz.scp.css */
.selection-summary[b-ws0hzq3a67] {
    background: #f1f4f9;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 0.9rem 1rem 0.5rem 1rem;
    margin-bottom: 1rem;
}

.selection-eyebrow[b-ws0hzq3a67] {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: #316735;
}

.selection-title[b-ws0hzq3a67] {
    font-size: 1.2rem;
    margin: 0.1rem 0 0 0;
    line-height: 1.25;
}

.selection-title:focus[b-ws0hzq3a67] {
    outline: none;
}

.selection-subtitle[b-ws0hzq3a67] {
    margin: 0.15rem 0 0 0;
    color: #505050;
    font-size: 0.9rem;
}

.selection-stats[b-ws0hzq3a67] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 0.6rem 0 0.4rem 0;
}

.selection-stats div[b-ws0hzq3a67] {
    min-width: 0;
}

.selection-stats dt[b-ws0hzq3a67] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #505050;
}

.selection-stats dd[b-ws0hzq3a67] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #353895;
    font-variant-numeric: tabular-nums;
    overflow-wrap: normal;
}

.selection-comparison[b-ws0hzq3a67] {
    font-size: 0.95rem;
    margin: 0.25rem 0 0.4rem 0;
}

.selection-subheading[b-ws0hzq3a67] {
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0.6rem 0 0 0;
}

.selection-actions[b-ws0hzq3a67] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.selection-button[b-ws0hzq3a67] {
    min-height: 44px;
    padding: 0 0.9rem;
    border-radius: 6px;
    border: 1px solid #353895;
    background: #353895;
    color: #ffffff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.selection-button:hover[b-ws0hzq3a67] {
    background: #2a2c76;
}

.selection-button.secondary[b-ws0hzq3a67] {
    background: #ffffff;
    color: #353895;
}

.selection-button.secondary:hover[b-ws0hzq3a67] {
    background: #e7e9f6;
}

.selection-button:focus-visible[b-ws0hzq3a67] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.selection-copy-status[b-ws0hzq3a67] {
    min-height: 1.2rem;
    margin: 0.35rem 0 0 0;
    font-size: 0.9rem;
    color: #316735;
    font-weight: 600;
}

.selection-timeline[b-ws0hzq3a67] {
    margin: 0.4rem 0 0.25rem 0;
}

.selection-timeline a[b-ws0hzq3a67] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-weight: 600;
}

.selection-timeline a:focus-visible[b-ws0hzq3a67] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}
/* /Components/Shared/TimelineView.razor.rz.scp.css */
/* Wide screens: a horizontal line with milestones, cards alternating above and below (subgrid keeps
   the line straight across every column whatever the card heights). */

.timeline-shell[b-tegv8ly8zq] {
    position: relative;
}

.timeline-scroll-buttons[b-tegv8ly8zq] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.timeline-scroll[b-tegv8ly8zq] {
    min-height: 44px;
    padding: 0 0.9rem;
    border: 1px solid #353895;
    border-radius: 6px;
    background: #ffffff;
    color: #353895;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.timeline-scroll:hover[b-tegv8ly8zq] {
    background: #e7e9f6;
}

.timeline-scroll:focus-visible[b-tegv8ly8zq],
.timeline-scroller:focus-visible[b-tegv8ly8zq] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.timeline-scroller[b-tegv8ly8zq] {
    position: relative; /* entries' offsetLeft is measured from here when centring one */
    overflow-x: auto;
    padding: 0.5rem 0 1rem 0;
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    .timeline-scroller[b-tegv8ly8zq] {
        scroll-behavior: auto;
    }
}

.timeline[b-tegv8ly8zq] {
    list-style: none;
    margin: 0;
    padding: 0 0.5rem;
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: auto 76px auto;
    grid-auto-columns: minmax(220px, 1fr);
}

.timeline-item[b-tegv8ly8zq] {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
    padding: 0 0.6rem;
    min-width: 0;
}

.media-above .tl-media[b-tegv8ly8zq] { grid-row: 1; align-self: end; }
.media-above .tl-axis[b-tegv8ly8zq] { grid-row: 2; }
.media-above .tl-card[b-tegv8ly8zq] { grid-row: 3; align-self: start; }

.media-below .tl-card[b-tegv8ly8zq] { grid-row: 1; align-self: end; }
.media-below .tl-axis[b-tegv8ly8zq] { grid-row: 2; }
.media-below .tl-media[b-tegv8ly8zq] { grid-row: 3; align-self: start; flex-direction: column-reverse; }

/* Date and photo */

.tl-media[b-tegv8ly8zq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0;
}

.tl-photo[b-tegv8ly8zq] {
    width: 100%;
    max-width: 190px;
    height: 110px;
    object-fit: cover;
    border-radius: 0.35rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}

.tl-date[b-tegv8ly8zq] {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 700;
    color: #353895;
    line-height: 1.1;
    text-align: center;
}

/* The line and its nodes */

.tl-axis[b-tegv8ly8zq] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tl-axis[b-tegv8ly8zq]::before {
    content: "";
    position: absolute;
    left: -0.6rem;
    right: -0.6rem;
    top: 50%;
    height: 10px;
    transform: translateY(-50%);
    background: var(--segment, #353895);
}

.timeline-item:nth-child(even)[b-tegv8ly8zq] {
    --segment: #8a8cc7;
}

.timeline-item:first-child .tl-axis[b-tegv8ly8zq]::before {
    left: 50%;
    border-radius: 0;
}

.timeline-item:last-child .tl-axis[b-tegv8ly8zq]::before {
    right: 50%;
}

.timeline-item:only-child .tl-axis[b-tegv8ly8zq]::before {
    display: none;
}

.tl-node[b-tegv8ly8zq] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--node-color, #353895);
    color: #ffffff;
    box-shadow: 0 0 0 6px #ffffff, 0 2px 10px 6px rgba(0, 0, 0, 0.12);
}

.tl-node[b-tegv8ly8zq]  .rzi {
    font-size: 1.6rem;
}

/* Cards, joined to the line by a short stem like the milestones on a slide */

.tl-card[b-tegv8ly8zq] {
    position: relative;
    background: #ffffff;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    padding: 0.75rem;
    margin: 18px 0 0 0;
}

.media-below .tl-card[b-tegv8ly8zq] {
    margin: 0 0 18px 0;
}

.tl-card[b-tegv8ly8zq]::before {
    content: "";
    position: absolute;
    left: 50%;
    width: 2px;
    height: 18px;
    background: #9aa1ab;
    transform: translateX(-50%);
    top: -19px;
}

.media-below .tl-card[b-tegv8ly8zq]::before {
    top: auto;
    bottom: -19px;
}

.tl-title[b-tegv8ly8zq] {
    font-size: 1.05rem;
    margin: 0;
    line-height: 1.25;
}

.tl-subtitle[b-tegv8ly8zq] {
    margin: 0.15rem 0 0 0;
    color: #505050;
    font-size: 0.9rem;
}

.tl-text[b-tegv8ly8zq] {
    margin: 0.4rem 0 0 0;
    font-size: 0.95rem;
    line-height: 1.45;
}

.tl-badges[b-tegv8ly8zq] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin: 0.5rem 0 0 0;
    padding: 0;
}

.tl-badges li[b-tegv8ly8zq] {
    padding: 0.1rem 0.5rem;
    border-radius: 1rem;
    background: #fff4d6;
    color: #5c4400;
    border: 1px solid #e0c46c;
    font-size: 0.8rem;
    font-weight: 600;
}

.tl-running[b-tegv8ly8zq] {
    margin: 0.5rem 0 0 0;
    font-size: 0.85rem;
    color: #505050;
}

.tl-link[b-tegv8ly8zq] {
    margin: 0.25rem 0 0 0;
}

.tl-title a[b-tegv8ly8zq],
.tl-link a[b-tegv8ly8zq],
.tl-project-list a[b-tegv8ly8zq] {
    font-weight: 600;
}

.tl-title a:focus-visible[b-tegv8ly8zq],
.tl-link a:focus-visible[b-tegv8ly8zq],
.tl-project-list a:focus-visible[b-tegv8ly8zq],
.tl-details summary:focus-visible[b-tegv8ly8zq] {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.tl-details[b-tegv8ly8zq] {
    margin-top: 0.4rem;
}

.tl-details summary[b-tegv8ly8zq] {
    min-height: 44px;
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: 600;
    color: #353895;
}

.tl-project-list[b-tegv8ly8zq] {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.9rem;
}

.tl-project-list li[b-tegv8ly8zq] {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.4rem;
    padding: 0.3rem 0;
    border-top: 1px solid #e5e5e5;
}

.tl-project-list li.highlighted[b-tegv8ly8zq] {
    background: #fffaf0;
}

.tl-project-date[b-tegv8ly8zq] {
    color: #505050;
    font-variant-numeric: tabular-nums;
    min-width: 3.2rem;
}

.tl-project-meta[b-tegv8ly8zq] {
    flex-basis: 100%;
    color: #505050;
    padding-left: 3.6rem;
}

/* The project being pointed out */

.highlighted .tl-node[b-tegv8ly8zq] {
    box-shadow: 0 0 0 4px #ffffff, 0 0 0 8px #ffbf47, 0 2px 10px 8px rgba(0, 0, 0, 0.12);
}

.highlighted .tl-card[b-tegv8ly8zq] {
    border: 2px solid #c99700;
    background: #fffaf0;
}

/* Compact: inside another page, e.g. "Where this fits" on a project page */

.compact .timeline[b-tegv8ly8zq] {
    grid-template-rows: auto 60px auto;
    grid-auto-columns: minmax(190px, 1fr);
}

.compact .tl-node[b-tegv8ly8zq] {
    width: 42px;
    height: 42px;
}

.compact .tl-node[b-tegv8ly8zq]  .rzi {
    font-size: 1.25rem;
}

.compact .tl-date[b-tegv8ly8zq] {
    font-size: 1.15rem;
}

.compact .tl-photo[b-tegv8ly8zq] {
    height: 80px;
}

/* Phones: one column, the line runs down the left */

@media (max-width: 767.98px) {
    .timeline-scroll-buttons[b-tegv8ly8zq] {
        display: none;
    }

    .timeline-scroller[b-tegv8ly8zq] {
        overflow: visible;
        padding: 0;
    }

    .timeline[b-tegv8ly8zq] {
        display: block;
        padding: 0;
    }

    .timeline-item[b-tegv8ly8zq],
    .media-above[b-tegv8ly8zq],
    .media-below[b-tegv8ly8zq] {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 0.75rem;
        padding: 0 0 1.25rem 0;
    }

    .media-above .tl-axis[b-tegv8ly8zq],
    .media-below .tl-axis[b-tegv8ly8zq] {
        grid-column: 1;
        grid-row: 1 / span 2;
        align-items: flex-start;
        padding-top: 0.25rem;
    }

    .tl-axis[b-tegv8ly8zq]::before,
    .timeline-item:first-child .tl-axis[b-tegv8ly8zq]::before,
    .timeline-item:last-child .tl-axis[b-tegv8ly8zq]::before {
        left: 50%;
        right: auto;
        top: 0;
        bottom: -1.25rem;
        width: 6px;
        height: auto;
        transform: translateX(-50%);
    }

    .timeline-item:first-child .tl-axis[b-tegv8ly8zq]::before {
        top: 1.5rem;
    }

    .timeline-item:last-child .tl-axis[b-tegv8ly8zq]::before {
        bottom: auto;
        height: 1.5rem;
    }

    .media-above .tl-media[b-tegv8ly8zq],
    .media-below .tl-media[b-tegv8ly8zq] {
        grid-column: 2;
        grid-row: 1;
        flex-direction: column-reverse;
        align-items: flex-start;
        align-self: start;
    }

    .tl-date[b-tegv8ly8zq] {
        text-align: left;
        font-size: 1.25rem;
        padding-top: 0.6rem;
    }

    .tl-photo[b-tegv8ly8zq] {
        max-width: 100%;
        height: 140px;
    }

    .media-above .tl-card[b-tegv8ly8zq],
    .media-below .tl-card[b-tegv8ly8zq] {
        grid-column: 2;
        grid-row: 2;
        margin: 0.5rem 0 0 0;
    }

    .tl-card[b-tegv8ly8zq]::before {
        display: none;
    }

    .tl-node[b-tegv8ly8zq],
    .compact .tl-node[b-tegv8ly8zq] {
        width: 44px;
        height: 44px;
    }
}

.tl-project-badges[b-tegv8ly8zq] {
    flex-basis: 100%;
    padding-left: 3.6rem;
    color: #5c4400;
    font-size: 0.8rem;
    font-weight: 600;
}
/* /Components/Shared/TownProjectsDialog.razor.rz.scp.css */
.town-projects[b-o2sq9kffxl] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.town-projects li[b-o2sq9kffxl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #e5e5e5;
}

.town-project-meta[b-o2sq9kffxl] {
    display: block;
    font-size: 0.85rem;
    color: #505050;
}
