/* Application surfaces layered over the customized Quartz palette. */
:is(.inscore-admin, .inscore-account, .inscore-content) {
    --admin-ink: #1f241d;
    --admin-heading: #163b2a;
    --admin-muted: #526052;
    --bs-body-color: var(--admin-ink);
    --bs-body-color-rgb: 31,36,29;
    --bs-body-bg: #fff;
    --bs-emphasis-color: #163b2a;
    --bs-emphasis-color-rgb: 22,59,42;
    --bs-secondary-color: #526052;
    --bs-secondary-color-rgb: 82,96,82;
    --bs-tertiary-color: #526052;
    --bs-border-color: #c9cfbf;
    --bs-heading-color: var(--admin-heading);
    --bs-link-color: #225b40;
    --bs-link-color-rgb: 34,91,64;
    --bs-link-hover-color: #0d2518;
    color: var(--admin-ink);
    background: #f7f4ec;
    min-width: 0;
    min-height: 65vh;
    color-scheme: light;
}
:is(.inscore-admin, .inscore-account, .inscore-content) :is(h1,h2,h3,h4,h5,h6) { color: var(--admin-heading); }
:is(.inscore-admin, .inscore-account, .inscore-content) :is(.text-muted,.text-body-secondary,.form-text) { color: var(--admin-muted) !important; }
:is(.inscore-admin, .inscore-account, .inscore-content) a:not(.btn):not(.dropdown-item):not(.nav-link) { color: var(--bs-link-color); text-underline-offset: .18em; }
:is(.inscore-admin, .inscore-account, .inscore-content) a:not(.btn):hover { text-decoration: underline; }
.inscore-admin :is(details, form.border) { background: rgba(255,255,255,.76); border-color: #c9cfbf !important; }
.inscore-admin summary { color: #163b2a; font-weight: 600; padding-block: .4rem; cursor: pointer; }
:is(.inscore-admin, .inscore-account, .inscore-content) .card {
    --admin-heading: #163b2a; --admin-muted: #526052; --bs-link-color: #225b40;
    --bs-card-color: #1f241d; --bs-card-bg: #fff;
    color: #1f241d; background: #fff; border: 1px solid #d4d9cd;
    box-shadow: 0 3px 16px rgba(13,37,24,.06); backdrop-filter: none;
}
:is(.inscore-admin, .inscore-account, .inscore-content) .card-header { color: #163b2a; background: #eee7d8; border-color: #d4d9cd; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) :is(.form-control,.form-select) {
    color: #1f241d; background-color: #fff; border: 1px solid #788878;
    box-shadow: none; color-scheme: light;
}
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) .form-control { background-image: none; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) .form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%231f241d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) option { color: #1f241d; background: #fff; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) .form-control::placeholder { color: #657065; opacity: 1; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) :is(.form-control,.form-select):disabled { color: #556052; background-color: #e5e8df; opacity: 1; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) .form-control[readonly] { color: #455143; background-color: #eef0e8; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) :is(.form-control,.form-select):focus { color: #1f241d; background-color: #fff; border-color: #225b40; box-shadow: 0 0 0 .2rem rgba(34,91,64,.22); }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) .form-floating > label { color: #526052; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) .form-floating > label::after { background-color: #fff !important; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) .form-check-input { border: 1px solid #748274; background-color: #fff; }
:is(.inscore-admin, .inscore-account, .inscore-content, .modal-content) .form-check-input:checked { background-color: #225b40; border-color: #225b40; }
.inscore-admin label:has(> :is(.form-control,.form-select)) { display: block; width: 100%; }
:is(.inscore-admin, .inscore-account, .inscore-content) .table {
    --bs-table-color: #1f241d; --bs-table-bg: #fff;
    --bs-table-striped-color: #1f241d; --bs-table-striped-bg: #eef1e8;
    --bs-table-hover-color: #163b2a; --bs-table-hover-bg: #e3eadb;
    --bs-table-active-color: #163b2a; --bs-table-active-bg: #e3eadb;
    --bs-table-border-color: #d4d9cd;
    color: #1f241d;
}
.inscore-admin .table thead { --bs-table-bg: #e5e9dc; --bs-table-color: #163b2a; }
:is(.inscore-admin, .inscore-account, .inscore-content) :is(.btn-primary,.btn-success) { color: #fff !important; background: #163b2a !important; border: 1px solid #163b2a !important; }
:is(.inscore-admin, .inscore-account, .inscore-content) .btn-secondary { color: #1f241d !important; background: #d9b56e !important; border: 1px solid #a27b35 !important; }
:is(.inscore-admin, .inscore-account, .inscore-content) :is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark) { color: #163b2a !important; background: transparent !important; border: 1px solid #536b55 !important; }
:is(.inscore-admin, .inscore-account, .inscore-content) :is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark):hover { color: #fff !important; background: #163b2a !important; }
:is(.inscore-admin, .inscore-account, .inscore-content) .btn-link { color: #225b40; }
:is(.inscore-admin, .inscore-account, .inscore-content) :is(.btn-warning,.btn-info) { color: #182119 !important; }
:is(.inscore-admin, .inscore-account, .inscore-content) .dropdown-menu { --bs-dropdown-color: #1f241d; --bs-dropdown-link-color: #1f241d; --bs-dropdown-link-hover-color: #163b2a; --bs-dropdown-link-hover-bg: #e3eadb; background: #fff; border: 1px solid #c9cfbf; }
:is(.inscore-admin, .inscore-account, .inscore-content) .dropdown-item { color: #1f241d; }
:is(.inscore-admin, .inscore-account, .inscore-content) .alert-info { color: #183e4a; background: #e2eff1; border: 1px solid #86a8b1; }
:is(.inscore-admin, .inscore-account, .inscore-content) .alert-warning { color: #62450f; background: #fff0cc; border: 1px solid #bca260; }
:is(.inscore-admin, .inscore-account, .inscore-content) :is(.alert-danger,.validation-errors) { color: #822529; background: #fce8e7; border: 1px solid #d8a1a0; padding: .75rem 1.25rem; border-radius: .4rem; }
:is(.inscore-admin, .inscore-account, .inscore-content) :is(.validation-message,.text-danger,.invalid-feedback) { color: #a12530 !important; }
:is(.inscore-admin, .inscore-account, .inscore-content) pre { color: #1f241d; background: #e9eddf; padding: 1rem; border-radius: .4rem; white-space: pre-wrap; overflow-wrap: anywhere; }
/* Preserve glass modals, but pair the glass with its own readable foregrounds. */
.modal-content {
    --admin-heading: #fff; --admin-muted: #d4e1d5;
    --bs-body-color: #fff; --bs-heading-color: #fff; --bs-link-color: #ffe0a0;
    --bs-modal-color: #fff; --bs-secondary-color: #d4e1d5;
    color: #fff; background-color: rgba(13,37,24,.9);
    background-image: linear-gradient(125deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
    border: 1px solid rgba(255,255,255,.24);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 18px 64px rgba(0,0,0,.32);
}
.modal-content :is(.modal-title,h1,h2,h3,h4,h5,h6) { color: var(--admin-heading); }
.modal-content .text-muted { color: var(--admin-muted) !important; }
.modal-content a:not(.btn):not(.dropdown-item) { color: #ffe0a0; }
.modal-content :is(.modal-header,.modal-footer) { border-color: rgba(255,255,255,.22); }
.modal-content .btn-close { filter: brightness(0) invert(1); opacity: .9; }
.modal-content :is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark) { color: #fff !important; border-color: #d4e1d5 !important; background: transparent !important; }
.modal-content :is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark):hover { color: #0d2518 !important; background: #e3eadb !important; }
.modal-content :is(.validation-message,.text-danger,.invalid-feedback) { color: #ffb9b9 !important; }
.modal-content :is(.bg-white,.bg-light,[data-inscore-editor] .is-wrapper) { --admin-heading: #163b2a; --admin-muted: #526052; color: #1f241d; }
:is(.inscore-admin,.inscore-account,.inscore-content,.modal-content) :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #b98a3b; outline-offset: 3px; }
@media (prefers-reduced-transparency: reduce) { .modal-content { background: #0d2518; backdrop-filter: none; } }

:is(.inscore-admin,.inscore-account,.inscore-content,.modal-content) input[type="checkbox"] { accent-color: #225b40; min-width: 1rem; min-height: 1rem; vertical-align: middle; margin-right: .3rem; }


/* Administration navigation uses the same green/gold palette in all states. */
.inscore-admin-shell :is(.sidebar,#sidebar-wrapper,#offcanvasSidebar) {
    background-color: #0d2518 !important;
    background-image: linear-gradient(180deg,#0d2518 0%,#1f4d3a 55%,#0d2518 100%) !important;
}
:is(.inscore-admin-navigation,.inscore-admin-shell,.inscore-admin) .dropdown-menu {
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #163b2a;
}
:is(.inscore-admin-navigation,.inscore-admin-shell,.inscore-admin) .dropdown-item:is(:active,.active) {
    color: #fff !important; background-color: #163b2a !important; background-image: none !important;
}
:is(.inscore-admin-navigation,.inscore-admin-shell,.inscore-admin) .dropdown-item:focus {
    color: #163b2a; background-color: #e3eadb; outline-color: #b98a3b;
}
:is(.inscore-admin-navigation,.inscore-admin-shell) .nav-link:is(:active,.active,:focus) {
    color: #163b2a; background-color: #e3eadb; box-shadow: none;
}
/* One consistent sidebar on public, account and admin routes after login. */
:is(#sidebar-wrapper,#offcanvasSidebar) { background-color:#0d2518 !important; background-image:linear-gradient(180deg,#0d2518 0%,#1f4d3a 55%,#0d2518 100%) !important; }
#sidebar-wrapper .sidebar { background:transparent !important; }
:is(#sidebar-wrapper,#offcanvasSidebar) .nav-link { color:#fff !important; }
:is(#sidebar-wrapper,#offcanvasSidebar) .nav-link:is(:hover,:focus,.active,:active) { color:#163b2a !important; background:#e3eadb !important; }
:is(#sidebar-wrapper,#offcanvasSidebar) .nav-link:focus-visible { outline:2px solid #b98a3b; outline-offset:2px; }

:is(#sidebar-wrapper, #offcanvasSidebar) .nav-link:not(:hover):not(:focus):not(.active):not(:active) { background-color: transparent !important; }
