/* input(1944,25): run-time error CSS1030: Expected identifier, found '#period-year'
input(1944,45): run-time error CSS1025: Expected comma or open brace, found ')'
input(1945,25): run-time error CSS1030: Expected identifier, found '#period-year'
input(1945,45): run-time error CSS1025: Expected comma or open brace, found ')'
input(1946,25): run-time error CSS1030: Expected identifier, found '#period-all'
input(1946,44): run-time error CSS1025: Expected comma or open brace, found ')'
input(1947,25): run-time error CSS1030: Expected identifier, found '#period-all'
input(1947,44): run-time error CSS1025: Expected comma or open brace, found ')' */
/* Active rules migrated from the former legacy compatibility stylesheet. */

.form-control {
    margin-right: 10px;
}

.form-group {
    display: grid;
    align-items: end;
    margin: 5px;
}

.form-group>.control-label,
.form-control {
    margin-right: 10px;
    margin-bottom: 5px;
    margin-top: 5px;
}

.control-label {
    font-size: 12px;
    word-wrap: anywhere;
    margin-left: 5px;
    margin-bottom: 0px !important;
}

.control-add-button {
    display: unset;
    width: 20px !important;
    border: 2px solid var(--rt-color-black) !important;
    margin-left: -5px;
    margin-right: 5px;
}

.control-group-with-add {
    display: inline-flex;
    align-items: center;
}

.control-remove-margin {
    margin: unset !important;
}

.form-control {
    padding: 3px;
    border: 2px solid var(--rt-color-black);
    text-align: center;
}

.form-select {
    padding: 3px;
    border: 2px solid var(--rt-color-black);
    margin-right: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
    text-align-last: center;
}

.buttonLinks {
    margin: 5px;
    padding: 5px;
    max-width: 60px;
}

.buttonLinkGroup {
    display: grid;
    align-content: center;
    justify-items: center;
}

.buttonLinkText {
    margin-top: 2px;
    font-size: 9px;
    text-wrap: wrap;
    text-align: center;
}

.stage-timer-compare {
    margin-top: 10px;
}

.stage-timer-compare-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.stage-timer-compare-panel {
    margin-top: 8px;
    max-height: 260px;
    overflow: auto;
    border: 1px solid var(--rt-palette-999);
    padding: 0;
    background: var(--rt-color-white);
}

.stage-timer-compare-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px;
}

.stage-timer-compare-count {
    min-width: 78px;
    font-size: 12px;
    font-weight: 600;
    color: var(--rt-palette-555);
}

.stage-timer-compare-loading {
    padding-bottom: 12px;
}

.stage-timer-compare-header,
.stage-timer-compare-row {
    display: grid;
    grid-template-columns: 24px minmax(160px, 2fr) minmax(90px, 1fr) minmax(70px, .75fr) minmax(70px, .75fr) minmax(50px, .5fr) minmax(70px, .75fr);
    gap: 8px;
    align-items: center;
}

.stage-timer-compare-header {
    font-size: 12px;
    font-weight: bold;
    padding: 7px 8px;
    color: var(--rt-palette-222);
    position: sticky;
    top: -1px;
    z-index: 2;
    background: var(--rt-palette-d8d8d8);
    box-shadow: 0 1px 0 var(--rt-palette-aaa), 0 -1px 0 var(--rt-palette-d8d8d8);
}

.stage-timer-compare-row {
    padding: 5px 8px;
    font-size: 13px;
    border-bottom: 1px solid var(--rt-palette-eee);
    cursor: pointer;
}

.stage-timer-compare-row:hover {
    background: var(--rt-palette-f6f6f6);
}

.stage-timer-compare-row-selected {
    background: var(--rt-palette-eef5ff);
}

.stage-timer-compare-name {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.rounded-border {
    border-radius: 40%;
    width: 40px;
    border: 4px solid var(--rt-color-black);
    padding: 3px
}

.expandCollapseButton {
    border-radius: 40%;
    width: 20px;
    border: 2px solid var(--rt-color-black);
    padding: 3px;
    margin-bottom: 4px;
    /*match H3 bottom margin*/
}

.expandCollapseContainer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.badge-serious {
    --bs-bg-opacity: 1;
    background-color: var(--rt-color-black);
    margin: 2px;
}

.badge-serious-login {
    --bs-bg-opacity: 1;
    background-color: var(--rt-color-black);
    color: var(--rt-color-white);
    margin: 5px;
}

.badge-ammo-fail {
    --bs-bg-opacity: 1;
    background-color: var(--rt-palette-c75a5a);
    margin: 2px;
}

.regular-text {
    font-size: 14px;
    text-wrap: wrap;
}

.regular-link {
    --bs-bg-opacity: 1;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    padding: 5px;
    border-radius: 3px;
    text-decoration: none;
    font-size: 16px;
    white-space: break-spaces;
    text-align: left;
}

.badge {
    text-wrap: wrap;
    font-weight: normal;
}

.simple-edit-display {
    cursor: pointer;
    border: none;
}

.simple-edit-title-field,
.simple-edit-title-badge {
    display: inline-grid;
    gap: 8px;
}

.simple-edit-title-button {
    appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    font: inherit;
    padding: 0;
    text-align: left;
}

.simple-edit-title-button:hover {
    cursor: pointer;
}

.simple-edit-color-badge {
    border: 0;
}

.simple-edit-editor {
    display: none;
    gap: 8px;
    justify-items: center;
}

.simple-edit-field.is-editing .simple-edit-display {
    display: none;
}

.simple-edit-field.is-editing .simple-edit-editor {
    display: grid;
}

.simple-edit-field.is-saving .simple-edit-input,
.simple-edit-field.is-saving .simple-edit-action-button {
    opacity: 0.7;
    pointer-events: none;
}

.simple-edit-input {
    min-width: 180px;
}

.simple-edit-actions {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
}

.simple-edit-action-button {
    border: 2px solid var(--rt-color-black);
    border-radius: 8px;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    padding: 2px 10px;
    font-size: 10px;
}

.simple-edit-error {
    color: var(--rt-palette-b53943);
    font-size: 12px;
    max-width: 220px;
    text-align: center;
}

a {
    color: var(--rt-color-black);
}

.current-date {
    box-shadow: inset 0px 0px 0px 2px var(--rt-color-black);
}

.createEntry {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
}

.calendar .calendar-header .year-title {
    font-size: 16px;
}

.calendar .calendar-header table th:hover {
    background: unset;
}

.calendarRangeTrip {
    width: 100%;
    float: left;
    overflow: auto;
}

.btn {
    --bs-btn-hover-border-color: var(--rt-palette-7e7e7e);
}

.btn-primary {
    border: 2px solid var(--rt-color-black);
    background-color: var(--rt-color-black);
    color: var(--rt-color-white);
    --bs-btn-hover-bg: var(--rt-color-black);
    --bs-btn-hover-border-color: var(--rt-color-black);
    --bs-btn-active-bg: var(--rt-color-black);
    --bs-btn-active-border-color: var(--rt-color-black);
    --bs-btn-border-color: var(--rt-color-black);
}

.btn:focus,
.btn:active {
    outline: none !important;
    box-shadow: none !important;
}

.pastEvent {
    border-radius: 10%;
}

.futureEvent {
    border-radius: 10%;
    opacity: 60%;
}

.tutorialButton {
    padding: 5px;
    margin-left: 15px;
    border: 2px solid var(--rt-color-black);
    border-radius: 10px;
}

textarea {
    min-height: 150px !important;
}

.helper-text {
    text-align: center;
    font-style: italic;
    margin-top: 15px;
    opacity: 60%;
}

.timerData {
    min-height: 50px !important;
    text-align: left;
}

.inlineCenterAndWrap {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: left;
}

.inlineCenterNoWrap {
    display: inline-flex;
    align-items: center;
}

.legacy-list-entry-title {
    font-size: 20px;
}

.legacy-list-entry-add,
.legacy-search-toggle {
    margin-left: 10px;
}

.legacy-search-toggle {
    margin-right: 10px;
    margin-left: 0;
}

.timer-data-editor-actions {
    display: inline-flex;
    flex-wrap: wrap;
    padding-bottom: 5px;
}

.collapsibleHeader {
    background-color: var(--bs-body-bg);
    cursor: pointer;
}

.stringOfFire {
    list-style-type: none;
    margin: 0;
    padding: 0;
    margin-bottom: 10px;
    display: inline-flex;
    flex-wrap: wrap;
}

.actionList {
    list-style-type: none;
    margin: 0;
    padding: 0;
    margin-bottom: 10px;
}

.actionElement {
    color: var(--rt-color-white);

    border-radius: 10px;
    text-decoration: none;
    border: 2px solid var(--rt-color-black);

    margin: 5px;
    padding: 5px 10px;

    font-size: 12px;
}

.actionElement:hover {
    cursor: move;
}

.ui-state-disabled {
    background-color: var(--rt-color-css-lightgray);
}

.timerdata {
    border-radius: 10px;
    text-decoration: none;
    border: 2px solid var(--rt-color-black);

    margin: 5px;

    padding: 5px;
    font-size: 12px;

    align-content: center;
}

.timerdata-error {
    background-color: var(--rt-color-css-red) !important
}

.timerdata-split {
    background-color: var(--rt-color-white);
    opacity: 80%;
}

.timerdata-reload {
    background-color: var(--rt-palette-d84e53cc);
}

.timerdata-reloadAndMove {
    background-color: var(--rt-palette-ca389ccc);
}

.timerdata-movement {
    background-color: var(--rt-palette-6a4c93cc)
}

.timerdata-transition {
    background-color: var(--rt-palette-1982c4cc)
}

.timerdata-draw {
    background-color: var(--rt-palette-86b43ccc);
}

.timerdata-drawAndMove {
    background-color: var(--rt-palette-189e7acc);
}

.timerdata-malfunction {
    background-color: var(--rt-palette-cd6f03);
}

.timerdata-moveAndShoot {
    background-color: var(--rt-palette-056c9998);
}

.timerDataDisplay {
    font-size: small
}

.timerdata-better {
    background-color: var(--rt-palette-8ed38ecc);
}

.timerdata-worse {
    background-color: var(--rt-palette-e3a392cc);
}

.timerdata-split-oversecond {
    background-color: var(--rt-palette-d6d6d6cc);
    font-weight: bold;

}

.shot-container {
    position: relative;
}

.shot-round-count {
    font-size: 10px;
    position: absolute;
    top: -12px;
    right: -12px;
    background-color: var(--rt-color-white);
    border-radius: 20px;
    border: 1px solid var(--rt-color-black);
    padding: 0px 3px;
}

.shot-round-count-double-digits {
    right: -16px;
}

.login_button {
    background-color: var(--rt-color-css-green);
    display: inline-flex;
    padding: 10px;
    border-radius: 10px;
    margin: 10px;
    box-shadow: 2px 2px 1px;
    font-size: 30px;
}

.screenshot_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 10px;
}

.screenshot-border {
    border: 1px solid var(--rt-color-black);
    margin: 10px;
    object-fit: contain;
}

.screenshot-size {
    width: 480px;
}

.listFieldStyle_Small {
    margin-left: 10px;
    width: 120px;
}

.listFieldStyle_Large {
    margin-left: 10px;
    width: 200px;
}

.listFieldStyle_stageName {
    margin-left: 10px;
    width: 70%;
}

.listfieldContainer_Stages {
    display: grid;
}

.autocompleteSearchField {
    opacity: 1;
    visibility: visible;
}

.autocompleteSearchField.hidden {
    opacity: 0;
    visibility: hidden;
    display: none;
}

.ui-autocomplete {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    float: left;
    display: none;
    min-width: 160px;
    padding: 4px 0;
    margin: 0 0 10px 25px;
    list-style: none;
    background-color: var(--rt-color-white);
    border-color: var(--rt-palette-rgba-0-0-0-0p2);
    border-style: solid;
    border-width: 1px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 5px 10px var(--rt-palette-rgba-0-0-0-0p2);
    -moz-box-shadow: 0 5px 10px var(--rt-palette-rgba-0-0-0-0p2);
    box-shadow: 0 5px 10px var(--rt-palette-rgba-0-0-0-0p2);
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;

    /* Limit the size of the autocomplete window*/
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
}

.ui-menu-item>a.ui-corner-all {
    display: block;
    padding: 3px 15px;
    clear: both;
    font-weight: normal;
    line-height: 18px;
    color: var(--rt-palette-555555);
    white-space: nowrap;
    text-decoration: none;
}

.ui-state-hover,
.ui-state-active {
    color: var(--rt-color-white);
    text-decoration: none;
    background-color: var(--rt-palette-0088cc);
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    background-image: none;
}

.autocomplete-button-down {
    position: relative;
    left: -48px;
    cursor: pointer;
}

.whatsnew-text {
    text-align: left;
    font-size: 1em;
    margin: 30px;
    color: var(--rt-color-black);
}

.whatsnew-feature {
    text-align: left;
    font-size: 1.3em;
    margin: 20px;
    color: var(--rt-color-black);
}

.editorStyle {
    width: 100%;
    border: 2px solid var(--rt-color-black);
    margin-top: 10px;
}

.notes-td {
    border-top: 1px solid var(--rt-color-black);
    padding: 5px;
}

.notes-th {
    padding: 5px;
}

.notes-img {
    margin: 10px;
    border-radius: 20px;
    border: 4px solid var(--rt-color-black);
    padding: 3px;

    max-width: 360px;
    max-height: 360px;
}

.map-border {
    margin: 10px;
    border-radius: 20px;
    border: 4px solid var(--rt-color-black);
    padding: 3px;
}

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset {
    border-radius: 10px;
}

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:focus,
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit {
    border-radius: 10px;
}

.ui-dialog .ui-dialog-buttonpane.ui-dialog-buttonpane {
    border-width: 0px;
}

.ui-widget-header {
    border: unset;
    background: unset;
    color: unset;
    font-weight: unset;
}

.ui-dialog .ui-dialog-buttonpane button {
    border-radius: 10px;
    background-color: var(--rt-palette-rgb-25-138-25);
    color: var(--rt-color-white);
    border: 3px solid var(--rt-color-black);
    padding: 5px 10px 5px 10px;
}

.ui-dialog-titlebar-close {
    display: none;
}

.showColorInDialog {
    width: fit-content;
    padding: 5px 10px 5px 10px;
    border-radius: 10px;
}

.arrangeItemsInDialog {
    display: grid;
    align-items: center;
    justify-content: center;
    justify-items: center;
}

.inputButtonForColor {
    width: 90%;
    cursor: pointer;
    position: absolute;
    height: 60%;
    opacity: 0;
}

.chart-style {
    height: 200px;
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
}

.chart-style-tall {
    height: 300px;
}

.chart-style-extra-tall {
    height: 400px;
}

@media (prefers-color-scheme: dark) {
.form-control {
        border-color: var(--rt-palette-7e7e7e);
    }

.form-select {
        border-color: var(--rt-palette-7e7e7e);
    }

.tutorialButton {
        border-color: var(--rt-color-white);
    }

.rounded-border {
        filter: invert(90%)
    }

.text-dark {
        color: var(--rt-color-white) !important;
    }

a {
        color: var(--rt-palette-d1d1d1);
    }

label {
        color: var(--rt-palette-d1d1d1);
    }

.calendar .calendar-header table th:hover {
        background: unset;
    }

.whatsnew-text {
        color: var(--rt-color-white) !important;
    }

.whatsnew-feature {
        color: var(--rt-color-white) !important;
    }

.current-date {
        box-shadow: inset 0px 0px 0px 2px var(--rt-color-white);
    }

.expandCollapseButton {
        filter: invert(70%);
    }

.actionElement {
        border-color: var(--rt-color-css-darkgray);
    }

.timerdata-split {
        border-color: var(--rt-color-css-darkgray);
        background-color: var(--rt-palette-4b4a4a);
    }

.timerdata-better {
        background-color: var(--rt-palette-8ed38ecc);
    }

.timerdata-worse {
        background-color: var(--rt-palette-e3a392cc);
    }

.timerdata-split-oversecond {
        background-color: var(--rt-palette-262626cc);
    }

.stage-timer-compare-panel {
        background-color: var(--bs-body-bg);
        border-color: var(--rt-palette-4c4c4c);
    }

.stage-timer-compare-count,
.stage-timer-compare-row {
        color: var(--bs-body-color);
    }

.stage-timer-compare-header {
        color: var(--rt-palette-d1d1d1);
        background-color: var(--rt-palette-404040);
        box-shadow: 0 1px 0 var(--rt-palette-5c5c5c), 0 -1px 0 var(--rt-palette-404040);
    }

.stage-timer-compare-row {
        border-bottom-color: var(--rt-palette-4c4c4c);
    }

.stage-timer-compare-row:hover {
        background-color: var(--rt-palette-4b4a4a);
    }

.stage-timer-compare-row-selected,
.stage-timer-compare-row-selected:hover {
        background-color: var(--rt-palette-253a52);
    }

.shot-round-count {
        border-color: var(--rt-color-css-darkgray);
        background-color: var(--rt-palette-262626);
    }

.ui-state-disabled {
        background-color: var(--rt-palette-404040);
    }

.ui-autocomplete {
        background-color: var(--rt-palette-404040);
        color: var(--rt-palette-d1d1d1);
    }

.autocomplete-button-down {
        filter: invert(70%);
    }

.trumbowyg-button-pane {
        background-color: var(--rt-palette-404040) !important;
    }

.trumbowyg-button-group {
        filter: invert() !important;
    }

.trumbowyg-button-pane .trumbowyg-open-dropdown.trumbowyg-textual-button {
        color: var(--rt-palette-2d2d2d) !important;
    }

.trumbowyg-dropdown button {
        background: var(--rt-palette-rgb-106-106-106) !important;
        color: var(--rt-palette-d1d1d1) !important;
    }

.trumbowyg-dropdown {
        background: var(--rt-palette-rgb-106-106-106) !important;
        color: var(--rt-palette-d1d1d1) !important;
    }

.trumbowyg-template-button trumbowyg-textual-button trumbowyg-open-dropdown {
        background-color: var(--rt-palette-303030) !important;
    }

.trumbowyg-dropdown-table table td {
        background: var(--rt-palette-rgb-106-106-106) !important;
    }

.trumbowyg-modal-box {
        background: var(--rt-palette-rgb-106-106-106) !important;
    }

.trumbowyg-input-infos {
        background: var(--rt-palette-404040) !important;
        color: var(--rt-palette-808080);
    }

.trumbowyg-input-html {
        background: var(--rt-palette-rgb-106-106-106) !important;
    }

.trumbowyg-button-pane button.trumbowyg-active,
.trumbowyg-button-pane button:not(.trumbowyg-disable):focus,
.trumbowyg-button-pane button:not(.trumbowyg-disable):hover {
        background-color: var(--rt-palette-d1d1d1) !important;
        /* These are supposed to be bright because we filter/invert the svg images  */
    }

.trumbowyg-modal-box .trumbowyg-input-infos label {
        color: var(--rt-palette-d1d1d1) !important;
    }

.trumbowyg-template-button:hover {
        background-color: var(--rt-palette-303030) !important;
    }

.trumbowyg-modal-box .trumbowyg-input-html input:focus,
.trumbowyg-modal-box .trumbowyg-input-html select:focus,
.trumbowyg-modal-box .trumbowyg-input-html textarea:focus {
        background: var(--rt-palette-rgb-106-106-106) !important;
    }

.notes-img {
        border-color: var(--rt-palette-d1d1d1) !important;
    }

.map-border {
        border-color: var(--rt-palette-d1d1d1) !important;
    }
}

@media (max-width: 768px) {
.inlineCenterAndWrap {
        min-width: 50%;
    }

.regular-text {
        font-size: 12px;
    }

.calendarRangeTrip {
        min-width: 250px;
        width: 100%;
        justify-content: center;
        display: flex;
    }

.calendar {
        width: 100%;
    }

.screenshot-size {
        width: 100%;
    }

.createEntry {
        display: block;
        justify-content: space-around;
    }

.year-title {
        max-width: 250px !important;
    }

.stage-time-piechart {
        width: 100%;
    }

.buttonLinkText {
        font-size: 8px;
    }

.buttonLinks {
        margin: 3px;
        padding: 3px;
        max-width: 40px;
        word-break: revert;
    }

.rounded-border {
        border-radius: 40%;
        width: 30px;
        border: 3px solid var(--rt-color-black);
        padding: 3px
    }

.notes-img {
        margin: 5px;
        border-radius: 15px;
        border: 3px solid var(--rt-color-black);
        padding: 3px;
        max-width: 240px;
        max-height: 240px;
    }

.chart-style {
        height: 250px;
    }

.chart-style-tall {
        height: 350px;
    }

.chart-style-extra-tall {
        height: 450px;
    }
}

/* Authenticated dashboard */
.dashboard-home,
.app-page {
    --app-table-font-size: .95rem;
    --app-table-supporting-font-size: var(--rt-font-size-small);
    --app-table-heading-font-size: var(--rt-font-size-caption);
    --app-table-divider: var(--rt-color-table-divider);
    --app-table-row-hover: var(--rt-color-row-hover);
    --app-table-group-bg: var(--dashboard-tint);
    --inventory-increase-accent: var(--rt-palette-00a93be0);
    --inventory-decrease-accent: var(--bs-danger, var(--rt-palette-dc3545));
    width: 100%;
    max-width: 1240px;
    min-width: 0;
    margin: 0 auto;
    padding: 34px 0 72px;
    text-align: left;
}

.app-page { max-width: 1240px; margin: 0 auto; padding: 34px 0 72px; text-align: left; }
.dashboard-home > *,
.app-page > * { min-width: 0; }
.app-details-page { --app-details-sidebar: minmax(260px, .34fr); }
.app-details-heading { margin-bottom: 20px; }
.app-details-summary { margin-bottom: 20px; }
.app-details-page > .app-details-heading + .app-card { margin-bottom: 20px; }
.app-details-grid { display: grid; grid-template-columns: minmax(0, 1fr) var(--app-details-sidebar); gap: 20px; align-items: start; }
.app-details-grid--equal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.app-details-grid--equal > * { min-width: 0; }
.match-kind-performance-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); }
.match-kind-performance-grid > * { min-width: 0; }
.app-details-main,
.app-details-sidebar { display: grid; gap: 20px; min-width: 0; }
.app-details-section { min-width: 0; }
.app-details-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin: 24px 0 0; }
.app-details-facts > div { min-width: 0; }
.app-details-facts dt { margin-bottom: 4px; color: var(--dashboard-muted); font-size: var(--rt-font-size-caption); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.app-details-facts dd { margin: 0; overflow-wrap: anywhere; font-size: .95rem; font-weight: 700; }
.app-details-facts dd.app-details-fact-value--supporting { color: var(--dashboard-muted); font-weight: 650; }
.app-details-facts dd.entity-display__supporting { font-weight: 650; }
.app-details-facts a { color: var(--dashboard-accent); text-underline-offset: 3px; }
.app-details-fact-value--accented { display: flex; align-items: center; gap: 7px; }
.app-details-fact-accents { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 3px; }
.app-details-fact-accent {
    width: 8px;
    height: 8px;
    border: 1px solid var(--rt-palette-rgba-0-0-0-p2);
    border-radius: 50%;
    background: var(--app-details-fact-accent, var(--dashboard-accent));
    box-shadow: 0 0 0 1px var(--rt-palette-rgba-255-255-255-p28);
}
.app-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.app-table-wrap .dt-container { width: 100%; min-width: 0; }
.app-table-wrap .dt-layout-row:not(.dt-layout-table),
.app-table-wrap .dt-layout-row:not(.dt-layout-table) .dt-layout-cell { min-width: 0; }
.app-table-wrap .dt-layout-table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-inline: contain;
}
.app-table-wrap .dt-searchPanes,
.app-table-wrap .dtsp-panesContainer {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}
.app-details-table-card .app-table-wrap { margin-top: 10px; }
.app-page-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.app-page-links { display: flex; align-items: center; gap: 14px; }
.app-page-links a { color: var(--dashboard-muted); font-size: var(--rt-font-size-small); font-weight: 700; text-decoration: none; }
.app-page-links a:hover { color: var(--dashboard-accent); }

.dashboard-heading,
.app-page-heading,
.dashboard-card-heading,
.app-card-heading,
.dashboard-card-actions,
.dashboard-range-master {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.dashboard-heading { margin-bottom: 24px; }
.app-page-heading { margin-bottom: 24px; }
.dashboard-heading h1,
.app-page-heading h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; }
.dashboard-heading-copy,
.app-page-heading-copy { margin: 10px 0 0; color: var(--dashboard-muted); }
.app-page-effective-date { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; }
.app-page-effective-date .date-time-display__primary { color: inherit; font-size: inherit; font-weight: inherit; }
.dashboard-eyebrow,
.app-card-eyebrow,
.app-page-eyebrow {
    margin: 0 0 7px;
    color: var(--dashboard-accent, var(--rt-color-green-700));
    font-size: var(--rt-font-size-caption);
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dashboard-primary-action,
.dashboard-secondary-action,
.app-primary-action,
.app-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border-radius: 10px;
    padding: 10px 17px;
    font-weight: 700;
    text-decoration: none;
}

.dashboard-primary-action,
.app-primary-action { background: var(--dashboard-accent); color: var(--dashboard-primary-action-text, var(--rt-color-white)); }
.dashboard-primary-action:hover,
.app-primary-action:hover { background: var(--dashboard-accent-strong); color: var(--dashboard-primary-action-text, var(--rt-color-white)); }
.dashboard-primary-action span,
.app-primary-action span { font-size: 1.35rem; line-height: .8; }
.dashboard-secondary-action,
.app-secondary-action { background: var(--dashboard-tint); color: var(--dashboard-accent-strong); }
.dashboard-secondary-action:hover,
.app-secondary-action:hover { background: var(--rt-palette-rgba-31-107-67-p14); color: var(--dashboard-accent-strong); }
.app-table-action {
    min-height: 34px;
    padding: 6px 12px;
    font-size: var(--rt-font-size-caption);
    white-space: nowrap;
}
.dashboard-text-action { color: var(--dashboard-accent); font-weight: 700; text-underline-offset: 3px; }

.entity-display { min-width: 0; }
.ammo-display--compact,
.firearm-display--compact,
.product-display--compact { display: grid; gap: 5px; min-width: 0; }
.entity-display__identity {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 3px 6px;
    min-width: 0;
}
.entity-display__identity a,
.entity-display__specifications a {
    color: var(--bs-body-color);
    text-decoration: none;
    text-underline-offset: 3px;
}
.entity-display__identity a:hover,
.entity-display__specifications a:hover { color: var(--dashboard-accent); text-decoration: underline; }
.entity-display__manufacturer { color: var(--dashboard-muted) !important; font-size: .76rem; font-weight: 700; }
.entity-display__model { overflow-wrap: anywhere; font-size: .9rem; font-weight: 750; }
.entity-display__supporting { color: var(--dashboard-muted); }
.entity-display__supporting .entity-display__model,
.entity-display__supporting .date-time-display__primary,
.app-details-facts dd.app-details-fact-value--supporting .entity-display__model,
.app-details-facts dd.app-details-fact-value--supporting .date-time-display__primary {
    color: inherit;
    font-weight: 650;
}
.entity-display__specifications {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 11px;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.entity-display__specifications li { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.entity-display__specifications a { overflow-wrap: anywhere; font-size: .9rem; }
.entity-display__color-dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border: 1px solid var(--rt-palette-rgba-0-0-0-p2);
    border-radius: 50%;
    background: var(--entity-display-color, var(--dashboard-accent));
    box-shadow: 0 0 0 1px var(--rt-palette-rgba-255-255-255-p28);
}
.entity-display__status {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    border: 1px solid currentColor;
    border-radius: 999px;
    padding: 2px 7px;
    font-size: .65rem;
    font-weight: 750;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
}
.entity-display__status--retired { color: var(--bs-danger, var(--rt-color-danger)); }
.location-display--compact { display: flex; align-items: center; gap: 8px; min-width: 0; }
.location-display__copy { display: grid; gap: 2px; min-width: 0; }
.location-display__copy a { color: var(--bs-body-color); text-decoration: none; }
.location-display__copy a:hover,
.location-display__copy a:focus-visible { color: var(--dashboard-accent); text-decoration: underline; }
.location-display__copy small { color: var(--dashboard-muted); font-size: .7rem; line-height: 1.3; }
.range-trip-display--extra-small,
.range-trip-display--compact { min-width: 0; }
.range-trip-display__link {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    max-width: 100%;
    color: var(--bs-body-color);
    font-size: .86rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
}
.range-trip-display__link:hover,
.range-trip-display__link:focus-visible { color: var(--dashboard-accent); text-decoration: underline; }
.range-trip-display__location { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.range-trip-display__compact-link {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    color: var(--bs-body-color);
    text-decoration: none;
}
.range-trip-display__compact-link:hover,
.range-trip-display__compact-link:focus-visible,
.match-display__compact-link:hover,
.match-display__compact-link:focus-visible { color: var(--dashboard-accent); text-decoration: none; }
.range-trip-display__identity { display: grid; gap: 3px; min-width: 0; }
.range-trip-display__identity small { color: var(--dashboard-muted); font-size: .75rem; }
.shooting-set-display--compact { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; min-width: 0; }
.shooting-set-display--compact a { color: inherit; text-decoration: none; }
.shooting-set-display--compact a:hover,
.shooting-set-display--compact a:focus-visible { color: var(--dashboard-accent); text-decoration: underline; }
.shooting-set-display__rounds { width: fit-content; font-size: .88rem; font-weight: 750; }
.shooting-set-display__context { min-width: 0; color: var(--dashboard-muted); font-size: .78rem; overflow-wrap: anywhere; }
.match-kind-display--compact { display: flex; align-items: center; gap: 7px; min-width: 0; }
.match-kind-display--compact > span:last-child { display: grid; gap: 2px; min-width: 0; }
.match-kind-display--compact a,
.match-display--extra-small a { color: inherit; text-decoration: none; }
.match-kind-display--compact a:hover,
.match-kind-display--compact a:focus-visible,
.match-display--extra-small a:hover,
.match-display--extra-small a:focus-visible { color: var(--dashboard-accent); text-decoration: underline; }
.match-kind-display--compact small { color: var(--dashboard-muted); font-size: .68rem; }
.match-display--compact { display: grid; gap: 5px; min-width: 0; }
.match-display__title { width: fit-content; font-size: .88rem; font-weight: 750; }
.manufacturer-display--compact { display: flex; align-items: center; gap: 7px; min-width: 0; }
.manufacturer-display--compact > span:last-child { display: grid; gap: 2px; min-width: 0; }
.manufacturer-display--compact a { color: inherit; text-decoration: none; }
.manufacturer-display--compact a:hover,
.manufacturer-display--compact a:focus-visible { color: var(--dashboard-accent); text-decoration: underline; }
.manufacturer-display--compact small { color: var(--dashboard-muted); font-size: .68rem; }
.reference-value-display--compact { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.location-display--compact > .entity-display__color-dot,
.match-kind-display--compact > .entity-display__color-dot,
.manufacturer-display--compact > .entity-display__color-dot,
.reference-value-display--compact > .entity-display__color-dot { margin-top: 0; }
.reference-value-display--compact > span:last-child { display: grid; gap: 2px; min-width: 0; }
.reference-value-display--compact a { color: inherit; text-decoration: none; }
.reference-value-display--compact a:hover,
.reference-value-display--compact a:focus-visible { color: var(--dashboard-accent); text-decoration: underline; }
.reference-value-display--compact small { color: var(--dashboard-muted); font-size: .68rem; }
.entity-display-standard { min-width: 0; }
.entity-display-standard .app-details-facts { margin: 0; }
.entity-display-standard .app-details-facts a { color: inherit; text-decoration: none; }
.entity-display-standard .app-details-facts a:hover,
.entity-display-standard .app-details-facts a:focus-visible { color: var(--dashboard-accent); text-decoration: underline; }
.app-card > .entity-display-standard { margin-top: 24px; }
.app-action-card .entity-display-standard .app-details-facts { gap: 14px 18px; }
.date-time-display--compact { display: grid; justify-items: start; gap: 3px; min-width: 0; text-align: left; }
.date-time-display__primary {
    width: fit-content;
    max-width: 100%;
    color: var(--bs-body-color);
    font-size: .86rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    text-underline-offset: 3px;
    white-space: nowrap;
}
a.date-time-display__primary:hover { color: var(--dashboard-accent); text-decoration: underline; }
.date-time-display__metadata {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 8px;
    min-width: 0;
    color: var(--dashboard-muted);
    font-size: .71rem;
    line-height: 1.3;
    text-align: left;
    white-space: nowrap;
}
.date-time-display__metadata > * { overflow-wrap: anywhere; }
.app-metric-date .date-time-display__primary { font-size: clamp(1.05rem, 1.7vw, 1.4rem); }
.app-list-date { justify-self: end; }
.app-list-date .date-time-display__primary { color: var(--dashboard-muted); font-size: .75rem; }
.app-list-date .date-time-display__metadata { justify-content: flex-end; }

.app-delete-page { display: grid; gap: 20px; }
.app-delete-page > .app-delete-heading { margin-bottom: 0; }
.app-delete-content { min-width: 0; overflow: hidden; }
.app-delete-content > div,
.app-delete-content > form { min-width: 0; }
.app-delete-identity {
    display: grid;
    gap: 20px;
    min-width: 0;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--dashboard-border);
}
.app-delete-identity .app-card-heading { margin: 0; }
.app-delete-identity__supplement,
.app-delete-identity__notes {
    padding-top: 18px;
    border-top: 1px solid var(--dashboard-border);
}
.app-delete-identity__supplement .app-details-facts { margin: 0; }
.app-delete-identity__notes {
    display: grid;
    gap: 5px;
}
.app-delete-identity__notes > span {
    color: var(--dashboard-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.app-delete-identity__notes p {
    margin: 0;
    line-height: 1.6;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.app-delete-content h4 {
    margin: 0;
    color: var(--dashboard-accent-strong);
    font-size: 1.3rem;
}
.app-delete-content hr { margin: 14px 0 0; opacity: .12; }
.app-delete-content dl.row {
    display: grid;
    grid-template-columns: minmax(150px, .32fr) minmax(0, 1fr);
    margin: 0;
}
.app-delete-content dl.row > dt,
.app-delete-content dl.row > dd {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 13px 0;
    border-bottom: 1px solid var(--dashboard-border);
    overflow-wrap: anywhere;
}
.app-delete-content dl.row > dt {
    padding-right: 22px;
    color: var(--dashboard-muted);
    font-size: .74rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.app-delete-content dl.row > dd { font-weight: 650; }
.app-delete-content h3 {
    margin: 30px 0 12px;
    color: var(--dashboard-accent-strong);
    font-size: 1.15rem;
}
.app-delete-content .table-responsive,
.app-delete-content > table { margin-top: 12px; }
.app-delete-form { margin-top: 26px; }
.app-delete-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 20px;
    border-top: 1px solid var(--dashboard-border);
}
.app-danger-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    padding: 10px 17px;
    background: var(--bs-danger, var(--rt-color-danger));
    color: var(--rt-color-white);
    font-weight: 700;
}
.app-danger-action:hover { background: var(--rt-color-danger-hover); }

@media (max-width: 575.98px) {
    .app-delete-content dl.row { grid-template-columns: minmax(0, 1fr); }
    .app-delete-content dl.row > dt { padding: 13px 0 2px; border-bottom: 0; }
    .app-delete-content dl.row > dd { padding-top: 2px; }
    .app-delete-actions { align-items: stretch; flex-direction: column-reverse; }
    .app-delete-actions > * { width: 100%; }
}

.firearm-details-page { display: grid; gap: 20px; }
.firearm-details-page .app-details-heading,
.firearm-details-page .app-details-summary { margin-bottom: 0; }
.firearm-details-overview-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .32fr); gap: 20px; align-items: start; }
.firearm-details-overview-grid-full { grid-template-columns: minmax(0, 1fr); }
.firearm-details-info-stack { display: grid; gap: 20px; min-width: 0; }
.firearm-details-actions { position: sticky; top: 20px; }
.firearm-details-actions .app-card-heading { display: grid; align-items: start; }
.firearm-action-links,
.match-action-links,
.range-trip-action-links,
.shooting-set-action-links,
.stage-result-action-links,
.ammo-action-links { display: grid; gap: 10px; width: 100%; }
.firearm-action-links > a,
.match-action-links > a,
.range-trip-action-links > a,
.shooting-set-action-links > a,
.stage-result-action-links > a,
.ammo-action-links > a { width: 100%; }
.firearm-lifecycle-content,
.firearm-maintenance-content { margin-top: 22px; }
.firearm-lifecycle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.firearm-lifecycle-panel {
    display: grid;
    align-content: start;
    gap: 16px;
    min-width: 0;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-tint);
    padding: 18px;
}
.firearm-lifecycle-panel--overdue { border-color: color-mix(in srgb, var(--bs-danger, var(--rt-color-danger)) 36%, var(--dashboard-border)); }
.firearm-lifecycle-panel-heading { display: grid; gap: 8px; }
.firearm-lifecycle-panel-heading h3 { margin: 0; font-size: 1.12rem; }
.firearm-lifecycle-panel-heading > p { margin: 0; color: var(--dashboard-muted); font-size: .82rem; line-height: 1.5; }
.firearm-lifecycle-list { display: grid; gap: 9px; min-width: 0; }
.firearm-lifecycle-row {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) repeat(2, minmax(82px, auto));
    align-items: center;
    gap: 14px;
    min-width: 0;
    border: 1px solid var(--dashboard-border);
    border-radius: 11px;
    background: var(--bs-body-bg);
    padding: 12px 13px;
    color: var(--bs-body-color);
    text-decoration: none;
    transition: border-color .15s ease, transform .15s ease;
}
.firearm-lifecycle-row--action { grid-template-columns: minmax(130px, 1fr) repeat(2, minmax(82px, auto)) auto; }
.firearm-lifecycle-row:hover { border-color: var(--service-color, var(--dashboard-accent)); color: var(--bs-body-color); transform: translateY(-1px); }
.firearm-lifecycle-identity { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--bs-body-color); text-decoration: none; }
.firearm-lifecycle-identity:hover { color: var(--dashboard-accent); }
.firearm-lifecycle-identity > span:last-child { display: grid; gap: 2px; min-width: 0; }
.firearm-lifecycle-identity strong { overflow-wrap: anywhere; }
.firearm-lifecycle-dot { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; background: var(--service-color, var(--dashboard-accent)); }
.firearm-lifecycle-measure { display: grid; gap: 2px; min-width: 0; text-align: right; }
.firearm-lifecycle-measure strong { overflow-wrap: anywhere; font-size: .9rem; }
.firearm-lifecycle-row small { color: var(--dashboard-muted); font-size: .68rem; line-height: 1.25; }
.firearm-lifecycle-row .firearm-replace-action { min-height: 36px; padding: 7px 12px; font-size: .78rem; }
.firearm-replace-action { font-size: .78rem; }
.app-details-notes { color: var(--bs-body-color); line-height: 1.65; overflow-wrap: anywhere; }
.firearm-sold-form { display: grid; gap: 20px; }
.firearm-sold-form > .app-page-heading { margin-bottom: 0; }

@media (max-width: 767.98px) {
    .firearm-lifecycle-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 479.98px) {
    .firearm-lifecycle-row,
    .firearm-lifecycle-row--action { grid-template-columns: minmax(0, 1fr) minmax(70px, auto); }
    .firearm-lifecycle-row--action .firearm-lifecycle-identity { grid-column: 1 / -1; }
    .firearm-lifecycle-row--action .firearm-replace-action { grid-column: 1 / -1; width: 100%; }
    .firearm-lifecycle-row:not(.firearm-lifecycle-row--action) .firearm-lifecycle-measure:last-child { grid-column: 2; }
}
.firearm-sold-form .app-page-actions button { border: 0; }
.firearm-sold-card { width: min(100%, 760px); }

.match-details-page { display: grid; gap: 20px; }
.match-details-page .app-details-heading,
.match-details-page .app-details-summary { margin-bottom: 0; }
.match-details-stats-card .app-metric-strip > div { flex: 0 1 auto; min-width: 0; }
.match-details-overview-grid > .app-details-sidebar { position: sticky; top: 20px; align-self: start; }
.match-details-actions .app-card-heading { display: grid; align-items: start; }
.match-details-warning { margin: 20px 0 0; color: var(--bs-danger); }
.match-stages-content { margin-top: 22px; min-width: 0; }
.match-time-breakdown { display: grid; grid-template-columns: minmax(240px, .34fr) minmax(0, 1fr); gap: 24px; margin-top: 22px; align-items: center; }
.match-time-pie,
.match-time-histogram { min-width: 0; }
.match-timer-data-list { display: grid; gap: 16px; margin-top: 22px; }
.match-timer-data-item { border-top: 1px solid var(--dashboard-border); padding-top: 16px; }
.match-timer-data-item:first-child { border-top: 0; padding-top: 0; }
.match-timer-data-item h3 { margin: 0 0 10px; font-size: 1rem; }

.range-trip-details-page { display: grid; gap: 20px; }
.range-trip-details-page .app-details-heading,
.range-trip-details-page .app-details-summary { margin-bottom: 0; }
.range-trip-details-actions-wrap { position: sticky; top: 20px; align-self: start; }
.range-trip-details-actions .app-card-heading { display: grid; align-items: start; }

.shooting-set-details-page { display: grid; gap: 20px; }
.shooting-set-details-page .app-details-heading,
.shooting-set-details-page .app-details-summary { margin-bottom: 0; }
.shooting-set-details-actions-wrap { position: sticky; top: 20px; align-self: start; }
.shooting-set-details-actions .app-card-heading { display: grid; align-items: start; }

.stage-result-details-page { display: grid; gap: 20px; }
.stage-result-details-page .app-details-heading,
.stage-result-details-page .app-details-summary { margin-bottom: 0; }
.stage-result-actions-wrap { position: sticky; top: 20px; align-self: start; }
.stage-result-timer-content { margin-top: 22px; overflow-x: auto; }
.stage-result-raw-timer { margin: 0; white-space: pre-wrap; }
.stage-result-chart-grid { display: grid; grid-template-columns: minmax(280px, .4fr) minmax(0, 1fr); gap: 20px; }
.stage-result-pie-chart { height: 300px; margin-top: 22px; }

.ammo-details-page { display: grid; gap: 20px; }
.ammo-details-page .app-details-heading,
.ammo-details-page .app-details-summary { margin-bottom: 0; }
.ammo-details-actions-wrap { position: sticky; top: 20px; align-self: start; }
.ammo-details-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ammo-details-chart { margin-top: 22px; min-height: 320px; }
.ammo-details-timespan { max-width: 220px; margin-top: 20px; }

.inventory-details-page { display: grid; gap: 20px; }
.inventory-details-page .app-details-heading,
.inventory-details-page .app-details-summary { margin-bottom: 0; }
.inventory-details-priority-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }

.app-utility-page { display: grid; gap: 20px; }
.app-utility-page .app-page-heading,
.app-utility-page .app-details-heading,
.app-utility-page .app-details-summary { margin-bottom: 0; }
.utility-chart-content { margin-top: 22px; }
.utility-calendar-content { margin-top: 22px; width: 100%; overflow-x: auto; }
.range-trip-planner-page .calendarRangeTrip { width: 100%; }

/* Compatibility layer for detail pages whose data-heavy bodies predate the
   shared card system. It gives related-record sections the same permanent,
   card-based hierarchy without changing their table and chart behavior. */
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) {
    display: grid;
    gap: 20px;
}
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) > .app-details-heading,
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) > .app-details-summary {
    margin-bottom: 0;
}
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) hr {
    display: none;
}
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) .expandCollapseContainer {
    margin: 0;
    padding: 0;
}
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) .expandCollapseContainer h3 {
    margin: 0;
    font-size: 1.25rem;
}
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) .expandCollapseContainer > div {
    display: none !important;
}
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) :has(> .expandCollapseContainer) {
    border: 1px solid var(--dashboard-border);
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    background: var(--bs-body-bg);
    padding: 24px 24px 14px;
}
:is(.catalog-details-page, .reference-details-page, .drill-result-details-page, .maintenance-details-page, .firearm-part-details-page) :has(> .expandCollapseContainer) + [id$="Container"] {
    display: block !important;
    min-width: 0;
    overflow-x: auto;
    border: 1px solid var(--dashboard-border);
    border-top: 0;
    border-radius: 0 0 18px 18px;
    background: var(--bs-body-bg);
    box-shadow: 0 10px 30px var(--rt-palette-rgba-24-42-31-p055);
    padding: 0 24px 24px;
}
:is(.catalog-details-page, .reference-details-page) .inlineCenterAndWrap {
    justify-content: flex-start;
    gap: 10px;
}
:is(.catalog-details-page, .reference-details-page) > div:has(.inlineCenterAndWrap) {
    border: 1px solid var(--dashboard-border);
    border-radius: 18px;
    background: var(--bs-body-bg);
    box-shadow: 0 10px 30px var(--rt-palette-rgba-24-42-31-p055);
    padding: 24px;
}
:is(.catalog-details-page, .reference-details-page) .app-details-table-card > .row,
:is(.catalog-details-page, .reference-details-page) .app-details-table-card > div > .row {
    margin: 0;
}
:is(.catalog-details-page, .reference-details-page) .app-details-table-card [class*="col-"] {
    min-width: 0;
}

.dashboard-priority-grid,
.dashboard-insight-grid {
    display: grid;
    gap: 20px;
}

.dashboard-priority-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.dashboard-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; }

.dashboard-card,
.app-card {
    max-width: 100%;
    min-width: 0;
    border: 1px solid var(--app-card-border, var(--dashboard-border, var(--rt-palette-rgba-28-45-34-p13)));
    border-radius: 18px;
    background: var(--bs-body-bg);
    box-shadow: 0 10px 30px var(--rt-palette-rgba-24-42-31-p055);
    padding: 24px;
}

.dashboard-card h2,
.app-card h2 { margin: 0; font-size: 1.25rem; }

.app-card-heading__copy { min-width: 0; }
.app-card-heading__eyebrow { margin-bottom: 7px; }
.app-card-heading__title { margin: 0; font-size: 1.25rem; line-height: 1.2; }
.app-card-heading__description {
    margin: 7px 0 0;
    color: var(--dashboard-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.app-card-text-action {
    color: var(--dashboard-accent, var(--rt-color-green-700));
    font-weight: 700;
    text-underline-offset: 3px;
}
.app-card-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
.app-action-card-collection {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
    gap: 14px;
    min-width: 0;
}
.app-action-card-collection__empty { margin: 0; color: var(--dashboard-muted); }
.app-action-card {
    display: flex;
    min-width: 0;
    min-height: 168px;
    flex-direction: column;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--bs-body-bg) 94%, var(--dashboard-tint));
    overflow: hidden;
}
.app-action-card__content { min-width: 0; padding: 18px; }
.app-action-card__actions {
    display: grid;
    margin-top: auto;
    border-top: 1px solid var(--dashboard-border);
}
.app-action-card__actions--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.app-action-card__actions--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.app-action-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 42px;
    padding: 8px 10px;
    color: var(--dashboard-accent-strong);
    font-size: .78rem;
    font-weight: 750;
    text-decoration: none;
}
.app-action-card__action + .app-action-card__action { border-left: 1px solid var(--dashboard-border); }
.app-action-card__action:hover { background: var(--dashboard-tint); color: var(--dashboard-accent-strong); }
.app-action-card__action:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--dashboard-accent); outline-offset: -3px; }
.app-action-card__action--view { background: var(--dashboard-tint); }
.app-action-card__action--delete { color: var(--bs-danger, var(--rt-color-danger)); }
.app-action-card__action--delete:hover { background: var(--rt-palette-rgba-180-35-24-p09); color: var(--bs-danger, var(--rt-color-danger)); }
.app-summary-tile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.app-summary-tile {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    min-width: 0;
    min-height: 94px;
    border: 1px solid var(--dashboard-border);
    border-radius: 13px;
    background: var(--bs-body-bg);
    padding: 15px;
    color: var(--bs-body-color);
    font: inherit;
    text-align: left;
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
button.app-summary-tile { width: 100%; cursor: pointer; }
a.app-summary-tile:hover,
button.app-summary-tile:hover,
button.app-summary-tile[aria-pressed="true"] {
    border-color: var(--app-summary-tile-color, var(--dashboard-accent));
    background: var(--dashboard-tint);
    box-shadow: 0 8px 22px var(--rt-palette-rgba-24-42-31-p08);
    color: var(--bs-body-color);
    transform: translateY(-1px);
}
.app-summary-tile:focus-visible { outline: 3px solid var(--app-summary-tile-color, var(--dashboard-accent)); outline-offset: 2px; }
.app-summary-tile-accent { width: 10px; height: 54px; border-radius: 999px; background: var(--app-summary-tile-color, var(--dashboard-accent)); }
.app-summary-tile-content { display: grid; gap: 4px; min-width: 0; }
.app-summary-tile-title { overflow-wrap: anywhere; font-size: var(--rt-font-size-caption); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.app-summary-tile-content strong { overflow-wrap: anywhere; font-size: 1.45rem; line-height: 1.05; }
.app-summary-tile-content small { color: var(--dashboard-muted); font-size: var(--rt-font-size-caption); line-height: 1.4; }
.app-summary-tile-arrow { color: var(--app-summary-tile-color, var(--dashboard-accent)); font-size: 1.25rem; transition: transform .16s ease; }
a.app-summary-tile:hover .app-summary-tile-arrow,
button.app-summary-tile:hover .app-summary-tile-arrow { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
    .app-summary-tile,
    .app-summary-tile-arrow { transition: none; }
}
.app-view-switch,
.dashboard-period-switch {
    display: inline-grid;
    padding: 4px;
    border-radius: 10px;
    background: rgba(var(--bs-body-color-rgb), .06);
}
.app-view-switch {
    grid-auto-flow: column;
    grid-auto-columns: minmax(max-content, 1fr);
}
.app-view-switch input,
.dashboard-period-switch input { position: absolute; opacity: 0; pointer-events: none; }
.app-view-switch label,
.dashboard-period-switch label {
    position: relative;
    cursor: pointer;
    margin: 0;
    border-radius: 7px;
    padding: 7px 12px;
    color: var(--dashboard-muted);
    font-size: .8rem;
    font-weight: 700;
}
.app-view-switch label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.app-view-switch label span { font-size: .7rem; font-variant-numeric: tabular-nums; opacity: .75; }
.app-view-switch input:checked + label,
.dashboard-period-switch input:checked + label { background: var(--bs-body-bg); color: var(--bs-body-color); box-shadow: 0 2px 8px var(--rt-palette-rgba-20-35-25-p1); }
.app-view-switch input:focus-visible + label { outline: 3px solid var(--dashboard-accent); outline-offset: 1px; }
.equipment-usage-heading { align-items: flex-end; }
.equipment-usage-content { min-width: 0; margin-top: 18px; }
.equipment-usage-card-collection {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(min(100%, 320px), 1fr);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: 6px;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
}
.equipment-usage-card-collection:has(> .app-action-card:only-child) {
    grid-auto-columns: min(100%, 320px);
}
.equipment-usage-card-collection > .app-action-card { scroll-snap-align: start; }
.equipment-usage-panel { display: none; min-width: 0; }
.equipment-usage-panel--only { display: block; }
.equipment-usage-card:has(.equipment-usage-option--ammo:checked) .equipment-usage-panel--ammo,
.equipment-usage-card:has(.equipment-usage-option--firearms:checked) .equipment-usage-panel--firearms,
.equipment-usage-card:has(.equipment-usage-option--suppressors:checked) .equipment-usage-panel--suppressors,
.equipment-usage-card:has(.equipment-usage-option--products:checked) .equipment-usage-panel--products { display: block; }
.equipment-usage-empty { margin: 0; color: var(--dashboard-muted); }
.equipment-usage-card-body { display: grid; gap: 9px; min-width: 0; }
.equipment-usage-card-body__kind {
    margin: 0;
    color: var(--dashboard-muted);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.equipment-usage-card-body__count {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin: 2px 0 0;
    color: var(--dashboard-muted);
    font-size: .74rem;
}
.equipment-usage-card-body__count strong { color: var(--bs-body-color); font-size: 1rem; }
.app-card--section-accent {
    --app-card-accent-shade: color-mix(in srgb, var(--section-accent) 9%, transparent);
    --app-card-accent-border: color-mix(in srgb, var(--section-accent) 33%, var(--dashboard-border));
}
.app-card--section-accent :is(.app-card-eyebrow, .dashboard-eyebrow) {
    color: var(--section-accent);
}
.dashboard-next-trip {
    --dashboard-trip-accent: var(--dashboard-accent);
    --dashboard-trip-shade: var(--dashboard-tint);
    --dashboard-trip-border: var(--dashboard-border);
    --dashboard-trip-contrast: var(--rt-color-white);
    --app-card-accent-shade: var(--dashboard-trip-shade);
    --app-card-accent-border: var(--dashboard-trip-border);
    min-height: 276px;
}
.dashboard-next-trip,
.app-card--section-accent {
    border-color: var(--app-card-accent-border);
    background: linear-gradient(135deg, var(--app-card-accent-shade), transparent 68%), var(--bs-body-bg);
}
.dashboard-countdown {
    border-radius: 999px;
    background: var(--dashboard-trip-accent);
    color: var(--dashboard-trip-contrast);
    padding: 7px 12px;
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}
.dashboard-trip-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 36px 0 28px;
}
.dashboard-trip-details > div { display: grid; gap: 4px; }
.dashboard-trip-details strong { font-size: 1.05rem; }
.dashboard-trip-date .date-time-display__primary { font-size: 1.05rem; }
.dashboard-trip-details > div > span:not(.dashboard-detail-label):not(.entity-display) { color: var(--dashboard-muted); }
.dashboard-detail-label { color: var(--dashboard-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-empty-copy { color: var(--dashboard-muted); margin: 30px 0 22px; }

.dashboard-action-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
}
.dashboard-quick-actions { width: 100%; margin-bottom: 20px; }
.dashboard-quick-actions > .app-card-heading { display: none; }
.dashboard-quick-actions .dashboard-action-grid { margin-top: 0; }
.dashboard-action-grid > a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 82px;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    padding: 13px;
    color: var(--bs-body-color);
    text-decoration: none;
    transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.dashboard-action-grid > a:hover { border-color: var(--rt-palette-rgba-31-107-67-p45); background: var(--dashboard-tint); transform: translateY(-1px); }
.dashboard-action-grid img { width: 34px; height: 34px; border: 0; padding: 0; object-fit: contain; }
[data-bs-theme="dark"] .dashboard-action-grid img { filter: invert(1); }
.dashboard-action-grid span { display: grid; gap: 3px; }
.dashboard-action-grid strong { font-size: .9rem; }
.dashboard-action-grid small { color: var(--dashboard-muted); font-size: var(--rt-font-size-caption); line-height: 1.4; }

.dashboard-overview { margin-bottom: 20px; }
.dashboard-overview-heading { align-items: flex-end; }
.dashboard-period-switch {
    grid-template-columns: repeat(3, auto);
}
.dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 26px; }
.dashboard-metrics > div { display: grid; gap: 7px; min-width: 0; padding: 5px 24px; border-left: 1px solid var(--dashboard-border); }
.dashboard-metrics > div:first-child { border-left: 0; padding-left: 0; }
.dashboard-metrics strong { overflow: hidden; font-size: clamp(1.35rem, 2.6vw, 2rem); line-height: 1; text-overflow: ellipsis; }
.dashboard-metrics span { color: var(--dashboard-muted); font-size: .8rem; }
.dashboard-metrics-year,
.dashboard-metrics-all { display: none; }
.dashboard-overview:has(#period-year:checked) .dashboard-metrics-month { display: none; }
.dashboard-overview:has(#period-year:checked) .dashboard-metrics-year { display: grid; }
.dashboard-overview:has(#period-all:checked) .dashboard-metrics-month { display: none; }
.dashboard-overview:has(#period-all:checked) .dashboard-metrics-all { display: grid; }

.dashboard-chart { position: relative; height: 310px; margin-top: 12px; }
.dashboard-chart-primary { height: 330px; }
.dashboard-inventory { min-width: 0; }
.inventory-summary-list { display: grid; margin-top: 18px; }
.inventory-summary-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border-top: 1px solid var(--dashboard-border);
    padding: 14px 0;
}
.inventory-summary-item:first-child { border-top: 0; }
.inventory-summary-item__count { color: var(--dashboard-muted); font-size: .82rem; }

.app-empty-copy { color: var(--dashboard-muted); margin: 24px 0 0; }

.app-metric-strip {
    --app-metric-min-width: 120px;
    --app-metric-inline-spacing: 28px;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 24px var(--app-metric-inline-spacing);
    margin-top: 26px;
}
.app-metric-strip > div {
    display: grid;
    flex: 1 1 auto;
    gap: 7px;
    width: max-content;
    min-width: var(--app-metric-min-width);
    max-width: 100%;
    border-right: 1px solid var(--dashboard-border);
    padding: 5px var(--app-metric-inline-spacing) 5px 0;
}
.app-metric-strip > div:last-child { border-right: 0; padding-right: 0; }
.app-metric-strip strong { overflow: hidden; font-size: clamp(1.35rem, 2.6vw, 2rem); line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.app-metric-edit-value { width: fit-content; border: 0; background: transparent; padding: 0; color: inherit; font-size: clamp(1.35rem, 2.6vw, 2rem); font-weight: 700; line-height: 1; text-align: left; text-decoration: underline dotted; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.app-metric-edit-value:hover { color: var(--dashboard-accent); }
.app-metric-strip span { color: var(--dashboard-muted); font-size: .8rem; }
.app-metric-strip small { color: var(--dashboard-muted); font-size: var(--rt-font-size-caption); }
.app-metric-strip .app-metric-attention strong { color: var(--rt-palette-b44a2f); }
.placement-display {
    --placement-podium-color: transparent;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    color: var(--bs-body-color);
}
.placement-display--first { --placement-podium-color: var(--rt-palette-b88700); }
.placement-display--second { --placement-podium-color: var(--rt-palette-737b84); }
.placement-display--third { --placement-podium-color: var(--rt-palette-a85e24); }
.placement-display__podium-mark {
    flex: 0 0 auto;
    width: 7px;
    height: 22px;
    border-radius: 999px;
    background: var(--placement-podium-color);
}
.placement-display data,
.placement-display > span:last-child {
    color: inherit;
    font-weight: 750;
    text-decoration: none;
}
.placement-display--compact data,
.placement-display--compact > span:last-child { font-size: .9rem; }
.placement-display--metric { gap: 10px; }
.placement-display--metric .placement-display__podium-mark { width: 9px; height: 36px; }
.placement-display--metric data,
.placement-display--metric > span:last-child {
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    line-height: 1;
}
.app-metric-strip .placement-display { color: var(--bs-body-color); }
.score-comparison {
    --score-color: var(--dashboard-muted);
    display: inline-flex;
    min-width: 0;
    color: var(--bs-body-color);
}
.score-comparison--meets-target { --score-color: var(--rt-palette-198754); }
.score-comparison--near-target { --score-color: var(--rt-palette-b77900); }
.score-comparison--below-target { --score-color: var(--rt-palette-c43d32); }
.score-comparison__marker {
    flex: 0 0 auto;
    width: 7px;
    min-height: 32px;
    border-radius: 999px;
    background: var(--score-color);
}
.score-comparison__content {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.score-comparison--compact { align-items: center; gap: 8px; }
.score-comparison--compact data,
.score-comparison--compact .score-comparison__content > span { font-size: .9rem; font-weight: 750; }
.score-comparison__target-label { color: var(--dashboard-muted); font-size: .56rem; font-weight: 600; line-height: 1.15; white-space: nowrap; }
.score-comparison--compact .score-comparison__target-label,
.score-comparison--progress .score-comparison__target-label { font-size: .56rem; }
.score-comparison--metric { align-items: center; gap: 10px; }
.score-comparison--metric .score-comparison__marker { width: 9px; min-height: 42px; }
.score-comparison--metric data,
.score-comparison--metric .score-comparison__content > span {
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    font-weight: 750;
    line-height: 1;
}
.score-comparison--metric .score-comparison__target-label { font-size: .62rem; }
.score-comparison--progress {
    display: grid;
    gap: 7px;
    width: min(100%, 240px);
}
.score-comparison__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.score-comparison__heading data,
.score-comparison__heading > span { font-size: .8rem; font-weight: 750; }
.score-comparison__track {
    position: relative;
    display: block;
    height: 6px;
    overflow: visible;
    border-radius: 999px;
    background: rgba(var(--bs-body-color-rgb), .12);
}
.score-comparison__fill {
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    width: var(--score-percentage);
    border-radius: inherit;
    background: var(--score-color);
}
.score-comparison__target {
    position: absolute;
    top: -3px;
    bottom: -3px;
    left: var(--score-target);
    display: block;
    width: 2px;
    border-radius: 999px;
    background: var(--bs-body-color);
    transform: translateX(-1px);
}
.score-comparison--unavailable .score-comparison__marker,
.score-comparison--unavailable .score-comparison__fill { opacity: .35; }
.app-metric-strip .score-comparison { color: var(--bs-body-color); }
.app-metric-strip .score-comparison__content { color: var(--bs-body-color); }

:is(
    .inventory-table-card,
    .range-trips-table-card,
    .matches-table-card,
    .firearms-table-card,
    .ammo-table-card,
    .ammo-orders-table-card,
    .product-purchases-table-card,
    .drill-results-table-card,
    .power-factor-table-card,
    .firearm-parts-table-card,
    .part-changelog-table-card,
    .maintenance-table-card,
    .failures-table-card,
    .firearm-calibers-table-card,
    .stage-results-table-card,
    .reference-catalog-table-card,
    .products-table-card
) {
    min-width: 0;
    margin-top: 20px;
}

:is(
    .ammo-orders-table-card,
    .product-purchases-table-card,
    .drill-results-table-card,
    .power-factor-table-card,
    .firearm-parts-table-card,
    .part-changelog-table-card,
    .maintenance-table-card,
    .failures-table-card,
    .firearm-calibers-table-card,
    .stage-results-table-card,
    .reference-catalog-table-card
) .app-table-wrap {
    margin-top: 8px;
}

:is(
    .range-trips-table-card,
    .matches-table-card,
    .ammo-table-card,
    .products-table-card
) .dt-container {
    margin-top: 18px;
}

.inventory-priority-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 20px;
    margin-top: 20px;
}
.inventory-trend-card { margin-top: 20px; }

.inventory-outlook { display: grid; gap: 22px; margin-top: 20px; }
.inventory-outlook-group h3 { margin: 0 0 8px; color: var(--dashboard-muted); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.inventory-outlook-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--dashboard-border);
    padding: 13px 0;
}
.inventory-outlook-item:first-of-type { border-top: 0; }
.inventory-outlook-ammo { min-width: 0; }
.inventory-outlook-usage { display: block; margin-top: 4px; color: var(--dashboard-muted); font-size: .78rem; }
.inventory-outlook-status { color: var(--dashboard-muted); font-size: .78rem; white-space: nowrap; }
.inventory-outlook-attention { border: 1px solid var(--rt-palette-rgba-180-74-47-p22); border-radius: 12px; background: var(--rt-palette-rgba-180-74-47-p055); padding: 14px 16px; }
.inventory-outlook-attention h3,
.inventory-outlook-attention .inventory-outlook-status { color: var(--rt-color-warning); }

.inventory-trend-controls { display: grid; grid-template-columns: repeat(2, minmax(180px, 260px)); gap: 12px; margin-top: 22px; }
.inventory-trend-controls .form-group { width: 100%; }
.inventory-trend-controls .control-label { display: block; margin-bottom: 5px; color: var(--dashboard-muted); font-size: .75rem; }
.app-chart { position: relative; }
.inventory-trend-chart { height: 390px; margin-top: 22px; }
.inventory-table-wrap { margin-top: 20px; }
.inventory-table-card table thead { position: sticky; top: 0; z-index: 1; background: var(--bs-body-bg); }

.range-trips-priority-grid,
.matches-priority-grid,
.range-trips-insight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
}
.range-trips-priority-grid > .app-card,
.matches-priority-grid > .app-card,
.range-trips-insight-grid > .app-card { min-width: 0; }
.dashboard-next-event-card {
    display: flex;
    min-height: 294px;
    max-height: 411px; 
    flex-direction: column;
    overflow-y: auto;
}
.dashboard-next-event-card .dashboard-card-actions { margin-top: auto; }
.range-trip-list,
.quick-trip-list { display: grid; margin-top: 18px; }
.range-trip-list > .range-trip-display,
.quick-trip-item {
    border-top: 1px solid var(--dashboard-border);
    padding: 14px 0;
}
.quick-trip-item {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    color: var(--bs-body-color);
}
.range-trip-list > .range-trip-display:first-child,
.quick-trip-item:first-child { border-top: 0; }
.range-trip-list-dot,
.match-list-dot,
.firearm-usage-dot,
.product-summary-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--app-list-dot-color, var(--dashboard-accent));
}
.range-trip-display__compact-link > .range-trip-list-dot,
.match-display__compact-link > .match-list-dot {
    align-self: start;
    margin-top: .45rem;
}
.quick-trip-item > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.quick-trip-item small { color: var(--dashboard-muted); font-size: .75rem; }
.quick-trip-item > a { color: var(--dashboard-accent); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.range-trips-calendar-card { margin-top: 20px; min-width: 0; }
.statistics-calendar-card { min-width: 0; }
.statistics-calendar { margin-top: 18px; overflow-x: auto; }
.statistics-calendar-popover {
    --bs-popover-max-width: 380px;
    --bs-popover-border-color: var(--dashboard-border);
    --bs-popover-bg: var(--bs-body-bg);
    --bs-popover-body-color: var(--bs-body-color);
    box-shadow: 0 18px 46px var(--rt-palette-rgba-22-33-48-p18);
}
.statistics-calendar-popover .popover-body { padding: 0; }
.event-tooltip-content:not(:last-child) { border-bottom: 1px solid var(--dashboard-border); }
.calendar-event-detail {
    display: grid;
    gap: 12px;
    width: min(340px, calc(100vw - 48px));
    border-left: 3px solid var(--calendar-event-color);
    padding: 16px 18px;
}
.calendar-event-detail__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.calendar-event-detail__category {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--dashboard-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.calendar-event-detail__marker {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--calendar-event-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--calendar-event-color) 22%, transparent);
}
.calendar-event-detail__status {
    color: var(--dashboard-muted);
    font-size: .7rem;
    font-weight: 700;
}
.calendar-event-detail__identity { min-width: 0; }
.calendar-event-detail__facts {
    border-top: 1px solid var(--dashboard-border);
    padding-top: 11px;
}
.calendar-event-detail__facts .app-details-facts {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 12px 18px;
    margin: 0;
}
.calendar-event-detail__facts .app-details-facts > div { min-width: 0; }
.calendar-event-detail__notes {
    margin: 0;
    color: var(--dashboard-muted);
    font-size: .8rem;
    line-height: 1.5;
    white-space: pre-wrap;
}
.calendar-event-detail__link {
    width: fit-content;
    font-size: .75rem;
}
.match-workflow-page { display: grid; gap: 20px; }
.match-workflow-page .app-page-heading { margin-bottom: 0; }
.match-workflow-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.match-import-card form { margin-top: 20px; }
.match-import-selection-page > form { display: grid; gap: 20px; }
.match-import-selection-page .app-page-heading { margin-bottom: 0; }
.match-import-shooter-field { width: min(100%, 620px); margin-top: 20px; }
.match-import-details-grid { display: grid; grid-template-columns: minmax(160px, .7fr) minmax(220px, 1fr) minmax(260px, 1.3fr); gap: 18px; align-items: end; margin-top: 20px; }
.match-import-selection-page .form-group { margin: 0; }
.match-import-selection-page .control-group-with-add { display: flex; align-items: center; gap: 8px; }
.match-import-selection-page .form-control,
.match-import-selection-page .form-select { min-height: 44px; border-color: var(--dashboard-border); border-radius: 10px; }
.match-import-selection-page .text-danger { display: block; margin-top: 5px; font-size: .75rem; }
.match-import-status { margin-top: 14px; color: var(--dashboard-muted); font-size: .84rem; font-weight: 700; text-align: right; }
.match-import-failure-card > p { margin: 20px 0 8px; color: var(--dashboard-muted); }
.match-import-error { border: 1px solid var(--rt-palette-rgba-180-48-48-p25); border-radius: 12px; background: var(--rt-palette-rgba-180-48-48-p08); padding: 16px; overflow-wrap: anywhere; font-weight: 700; }
.match-bulk-stage-list { margin-top: 18px; }
.match-what-if-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .34fr); gap: 20px; align-items: start; }
.match-what-if-inputs { display: grid; gap: 10px; margin-top: 18px; }
.match-what-if-input-row { display: grid; grid-template-columns: minmax(0, 1fr) 90px; gap: 18px; align-items: center; border-top: 1px solid var(--dashboard-border); padding-top: 10px; }
.match-what-if-input-row:first-child { border-top: 0; padding-top: 0; }
.match-what-if-action { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.match-what-if-action small { color: var(--dashboard-muted); }
.match-what-if-delta { color: var(--dashboard-muted); font-size: .78rem; font-weight: 700; }
.match-what-if-input { width: 90px; }
.match-what-if-results-card { position: sticky; top: 20px; }
.match-what-if-results { display: grid; gap: 12px; margin: 20px 0; }
.match-what-if-results > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 2px 12px; border-bottom: 1px solid var(--dashboard-border); padding-bottom: 12px; }
.match-what-if-results span { color: var(--dashboard-muted); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.match-what-if-results strong { font-size: 1.35rem; }
.match-what-if-results small { grid-column: 2; color: var(--dashboard-muted); text-align: right; }
.range-trip-calendar { max-height: 620px; margin-top: 20px; overflow: auto; }
.range-trips-chart { height: 360px; margin-top: 18px; }
.matches-insights-grid {
    display: grid;
    grid-template-columns: minmax(320px, 2fr) minmax(0, 3fr);
    gap: 20px;
    margin-top: 20px;
}
.matches-insights-grid > .app-card { min-width: 0; }
.match-upcoming-list { display: grid; margin-top: 18px; }
.match-upcoming-list > .match-display {
    border-top: 1px solid var(--dashboard-border);
    padding: 14px 0;
}
.match-upcoming-list > .match-display:first-child { border-top: 0; }
.match-display__compact-link {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    color: var(--bs-body-color);
    text-decoration: none;
}
.match-display__identity { display: grid; gap: 3px; min-width: 0; }
.match-display__identity small { color: var(--dashboard-muted); font-size: .75rem; }
.match-results-controls { width: min(100%, 240px); margin-top: 18px; }
.match-results-controls .control-label { margin-bottom: 5px; color: var(--dashboard-muted); font-size: .75rem; }
.matches-results-chart { height: 390px; margin-top: 18px; }
.matches-activity-chart { height: 380px; margin-top: 18px; }

.firearms-priority-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
}
.firearms-priority-grid > .app-card { min-width: 0; }
.firearm-usage-list { display: grid; margin-top: 18px; }
.firearm-usage-list > a,
.firearm-usage-list > .firearm-usage-item {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--dashboard-border);
    padding: 14px 0;
    color: var(--bs-body-color);
    text-decoration: none;
}
.firearm-usage-list > a:first-child,
.firearm-usage-list > .firearm-usage-item:first-child { border-top: 0; }
.firearm-usage-list > a > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.firearm-usage-list small,
.firearm-usage-list > a > span:last-child,
.firearm-usage-list > .firearm-usage-item > span:last-child { color: var(--dashboard-muted); font-size: .75rem; }
.firearm-usage-list > a > span:last-child,
.firearm-usage-list > .firearm-usage-item > span:last-child { white-space: nowrap; }
.firearms-table-card > .row { margin: 18px 0 0; }
.firearms-table-card .firearm-table-row--sold > td { background: rgba(var(--bs-body-color-rgb), .035); color: var(--dashboard-muted); }
.firearms-table-card .firearm-table-row--sold a:not(.entity-display__status) { color: inherit; }
.firearms-table-card .firearm-table-row--sold .entity-display__color-dot { opacity: .45; }
.firearm-sold-notice { border-color: color-mix(in srgb, var(--bs-danger, var(--rt-color-danger)) 28%, var(--dashboard-border)); background: color-mix(in srgb, var(--bs-danger, var(--rt-color-danger)) 5%, var(--bs-body-bg)); }
.firearm-sold-notice h2 { margin: 0; font-size: 1.15rem; }
.firearm-sold-notice p:last-child { margin: 8px 0 0; color: var(--dashboard-muted); }

.firearm-history-page { display: grid; gap: 20px; }
.firearm-history-page .app-details-heading { margin-bottom: 0; }
.firearm-timeline-card { overflow: hidden; }
.firearm-timeline { display: grid; gap: 28px; margin-top: 22px; }
.firearm-timeline-year { display: grid; gap: 12px; min-width: 0; }
.firearm-timeline-year-heading {
    margin: 0 0 0 18px;
    color: var(--dashboard-accent-strong);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.firearm-timeline-list { display: grid; min-width: 0; }
.firearm-timeline-event {
    position: relative;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    padding: 0 0 16px 18px;
}
.firearm-timeline-event::before {
    position: absolute;
    top: 13px;
    bottom: -9px;
    left: 5px;
    width: 1px;
    background: var(--dashboard-border);
    content: "";
}
.firearm-timeline-event:last-child { padding-bottom: 0; }
.firearm-timeline-event:last-child::before { display: none; }
.firearm-timeline-marker {
    position: absolute;
    top: 7px;
    left: 0;
    z-index: 1;
    width: 11px;
    height: 11px;
    border: 3px solid var(--bs-body-bg);
    border-radius: 50%;
    background: var(--dashboard-accent);
    box-shadow: 0 0 0 1px var(--dashboard-border);
}
.firearm-timeline-date { display: grid; align-content: start; gap: 2px; padding-top: 2px; }
.firearm-timeline-date strong { color: var(--bs-body-color); font-size: .9rem; line-height: 1.25; }
.firearm-timeline-date span { color: var(--dashboard-muted); font-size: .72rem; }
.firearm-timeline-content {
    min-width: 0;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-tint);
    padding: 14px 16px;
}
.firearm-timeline-event-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.firearm-timeline-event-labels { display: grid; gap: 7px; min-width: 0; }
.firearm-timeline-category {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding-left: 9px;
    border-left: 2px solid var(--dashboard-accent);
    color: var(--dashboard-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
}
.firearm-timeline-event-name { min-width: 0; }
.firearm-timeline-rounds { display: grid; flex: 0 0 auto; justify-items: end; gap: 2px; text-align: right; }
.firearm-timeline-rounds strong { font-size: 1.05rem; line-height: 1.1; }
.firearm-timeline-rounds span { color: var(--dashboard-muted); font-size: .66rem; white-space: nowrap; }
.firearm-timeline-details { margin-top: 12px; border-top: 1px solid var(--dashboard-border); padding-top: 11px; }
.firearm-timeline-details .app-details-facts { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 14px 20px; margin: 0; }
.firearm-timeline-details .app-details-facts > div { min-width: 0; }
.firearm-timeline-notes { margin-top: 12px; border-top: 1px solid var(--dashboard-border); padding-top: 11px; }
.firearm-timeline-notes > :last-child { margin-bottom: 0; }
.firearm-timeline-notes img { display: block; max-width: 100%; height: auto; border-radius: 10px; }
.firearm-timeline-event-link { margin-top: 7px; font-size: .72rem; white-space: nowrap; }
.firearm-timeline-empty { margin-top: 20px; }

@media (max-width: 767.98px) {
    .firearm-timeline { gap: 24px; }
}

@media (max-width: 575.98px) {
    .firearm-timeline-event { grid-template-columns: minmax(0, 1fr); gap: 10px; padding-left: 22px; }
    .firearm-timeline-date { display: flex; align-items: baseline; gap: 7px; }
    .firearm-timeline-event-heading { display: grid; }
    .firearm-timeline-rounds { grid-template-columns: auto auto; justify-content: start; justify-items: start; align-items: baseline; gap: 2px 7px; text-align: left; }
    .firearm-timeline-rounds .firearm-timeline-event-link { grid-column: 1 / -1; }
}

.ammo-purchase-card { min-width: 0; margin-top: 20px; }
.ammo-purchase-chart { height: 380px; margin-top: 18px; }
.ammo-priority-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
}
.ammo-priority-grid > .app-card { min-width: 0; }
.ammo-activity-list { display: grid; margin-top: 18px; }
.ammo-activity-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--dashboard-border);
    padding: 14px 0;
}
.ammo-activity-item:first-child { border-top: 0; }
.ammo-activity-item__rounds { color: var(--dashboard-muted); font-size: .75rem; white-space: nowrap; }
.ammo-orders-caliber-card { min-width: 0; margin-top: 20px; }
.ammo-orders-caliber-list { justify-content: flex-start; margin-top: 18px; }
.ammo-orders-caliber-list .app-empty-state { width: 100%; }
.drill-result-date-cell { white-space: nowrap; }
.reference-catalog-feature-card { min-width: 0; margin-top: 20px; }
.reference-catalog-map { width: 100% !important; margin-top: 18px; }
.app-table-notes {
    max-width: 420px;
    max-height: 4.5em;
    overflow: hidden;
    color: var(--dashboard-muted);
    line-height: 1.5;
}
.app-table-date-cell { white-space: nowrap; }

.products-priority-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
}
.products-priority-grid > .app-card { min-width: 0; }
.product-summary-list { display: grid; margin-top: 18px; }
.product-summary-list > a,
.product-summary-list > .product-summary-item {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--dashboard-border);
    padding: 14px 0;
    color: var(--bs-body-color);
    text-decoration: none;
}
.product-summary-list > a:first-child,
.product-summary-list > .product-summary-item:first-child { border-top: 0; }
.product-summary-list > a > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.product-summary-list small,
.product-summary-list > a > span:last-child,
.product-summary-list > .product-summary-item > span:last-child { color: var(--dashboard-muted); font-size: .75rem; }
.product-summary-list > a > span:last-child,
.product-summary-list > .product-summary-item > span:last-child { white-space: nowrap; }

.settings-setup-card { margin-bottom: 20px; }
.settings-grid,
.settings-color-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.settings-grid > .app-card,
.settings-color-grid > .app-card { min-width: 0; }
.settings-account-card { grid-column: 1 / -1; }
.settings-link-list { display: grid; margin-top: 18px; }
.settings-link-list > a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    border-top: 1px solid var(--dashboard-border);
    padding: 15px 0;
    color: var(--bs-body-color);
    text-decoration: none;
}
.settings-link-list > a:first-child { border-top: 0; }
.settings-link-list > a > span:first-child { display: grid; gap: 3px; }
.settings-link-list small { color: var(--dashboard-muted); font-size: .75rem; line-height: 1.35; }
.settings-link-arrow { color: var(--dashboard-accent); font-size: 1.2rem; transition: transform .15s ease; }
.settings-link-list > a:hover .settings-link-arrow { transform: translateX(3px); }
.settings-link-list > .settings-link-caution strong { color: var(--rt-color-warning); }

.settings-color-card { padding-bottom: 18px; }
.settings-color-count {
    border-radius: 999px;
    background: var(--dashboard-tint);
    color: var(--dashboard-accent);
    padding: 5px 9px;
    font-size: .72rem;
    font-weight: 700;
}
.settings-color-swatches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.settings-color-swatch {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    width: 100%;
    border: 1px solid var(--dashboard-border);
    border-radius: 11px;
    background: var(--bs-body-bg);
    padding: 10px;
    color: var(--bs-body-color);
    text-align: left;
}
.settings-color-swatch:hover { border-color: var(--settings-swatch); background: var(--dashboard-tint); }
.settings-color-swatch:focus-visible { outline: 3px solid var(--settings-swatch); outline-offset: 2px; }
.settings-color-preview { width: 38px; height: 38px; border: 1px solid var(--rt-palette-rgba-0-0-0-p15); border-radius: 9px; background: var(--settings-swatch); }
.settings-color-swatch > span:last-child { display: grid; gap: 2px; min-width: 0; }
.settings-color-swatch strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-color-swatch small { color: var(--dashboard-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; }
.settings-color-dialog.ui-widget-content { border: 4px solid var(--rt-color-black); border-radius: 20px; background: var(--rt-color-white); color: var(--rt-color-black); }
.ui-widget.settings-color-dialog.ui-widget-content { width: fit-content !important; min-width: 300px; font-family: Quantico; }

.statistics-year-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}
.statistics-year-nav a {
    border: 1px solid var(--dashboard-border);
    border-radius: 999px;
    padding: 7px 12px;
    color: var(--bs-body-color);
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}
.statistics-year-nav a:hover { border-color: var(--statistics-year-color, var(--dashboard-accent)); }
.statistics-year-nav a.is-selected { border-color: var(--statistics-year-color, var(--dashboard-accent)); background: var(--statistics-year-color, var(--dashboard-accent)); color: var(--statistics-year-contrast, var(--dashboard-primary-action-text, var(--rt-color-white))); }
.insights-period-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; border: 1px solid var(--dashboard-border); border-radius: 14px; background: var(--bs-body-bg); padding: 13px 16px; }
.insights-period-copy { display: grid; gap: 2px; flex: 0 0 auto; }
.insights-period-copy span { color: var(--dashboard-muted); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.insights-period-copy strong { font-size: .92rem; }
.insights-overview-section { min-width: 0; }
.insights-section-heading { margin-bottom: 14px; }
.insights-overview-heading { align-items: flex-end; }
.insights-overview-content { min-width: 0; margin-top: 18px; }
.insights-overview-panel { display: none; min-width: 0; }
.insights-overview-section:has(.insights-overview-option--activity:checked) .insights-overview-panel--activity,
.insights-overview-section:has(.insights-overview-option--purchases:checked) .insights-overview-panel--purchases,
.insights-overview-section:has(.insights-overview-option--spending:checked) .insights-overview-panel--spending { display: block; }
.insights-section-grid > .app-card { min-width: 0; }
.insights-sections { display: grid; gap: 34px; margin-top: 34px; }
.insights-section { display: grid; min-width: 0; }
.insights-section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; min-width: 0; }
.insights-summary-card { grid-column: 1 / -1; min-width: 0; }
.insight-breakdown-card { min-width: 0; }
.insight-breakdown-summary { margin-top: 20px; }
.insight-breakdown-list { display: grid; gap: 0; margin-top: 20px; }
.insight-breakdown-row { min-width: 0; border-top: 1px solid var(--dashboard-border); padding: 17px 0; }
.insight-breakdown-row:first-child { border-top: 0; padding-top: 0; }
.insight-breakdown-row-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.insight-breakdown-identity { display: flex; align-items: center; gap: 9px; min-width: 0; }
.insight-breakdown-identity a,
.insight-breakdown-identity strong { overflow-wrap: anywhere; color: var(--bs-body-color); font-size: .92rem; font-weight: 750; text-decoration: none; }
.insight-breakdown-identity a:hover { color: var(--dashboard-accent); text-decoration: underline; text-underline-offset: 3px; }
.insight-breakdown-identity a:focus-visible,
.insight-breakdown-more > summary:focus-visible { border-radius: 4px; outline: 3px solid var(--dashboard-accent); outline-offset: 3px; }
.insight-breakdown-dot { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: var(--insight-color, var(--dashboard-accent)); }
.insight-breakdown-value { display: flex; flex: 0 0 auto; align-items: baseline; gap: 8px; }
.insight-breakdown-value strong { font-size: .92rem; }
.insight-breakdown-value span { color: var(--dashboard-muted); font-size: .72rem; }
.insight-breakdown-track { height: 5px; margin: 9px 0 0 18px; overflow: hidden; border-radius: 999px; background: var(--dashboard-tint); }
.insight-breakdown-track span { display: block; width: var(--insight-width, 0%); height: 100%; border-radius: inherit; background: var(--insight-color, var(--dashboard-accent)); }
.insight-breakdown-supporting { margin: 7px 0 0 18px; color: var(--dashboard-muted); font-size: .72rem; }
.insight-breakdown-details { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 11px 0 0 18px; }
.insight-breakdown-details > span { display: inline-flex; align-items: baseline; gap: 5px; color: var(--dashboard-muted); font-size: .72rem; }
.insight-breakdown-details strong { color: var(--bs-body-color); font-size: .72rem; }
.insight-breakdown-more { border-top: 1px solid var(--dashboard-border); padding-top: 12px; }
.insight-breakdown-more > summary { cursor: pointer; width: fit-content; color: var(--dashboard-accent); font-size: .76rem; font-weight: 750; }
.insight-breakdown-more[open] > summary { margin-bottom: 4px; }
.insight-breakdown-more .insight-breakdown-list { margin-top: 12px; }
.insight-breakdown-empty { margin-top: 20px; }

/* Account management */
.account-manage-page { width: 100%; max-width: 1180px; }
.account-manage-heading { margin-bottom: 20px; }
.account-manage-grid {
    display: grid;
    grid-template-columns: minmax(230px, .32fr) minmax(0, 1fr);
    align-items: start;
    gap: 20px;
}
.account-manage-sidebar {
    position: sticky;
    top: 20px;
    min-width: 0;
    padding: 20px;
}
.account-manage-sidebar__heading {
    margin-bottom: 16px;
    border-bottom: 1px solid var(--dashboard-border);
    padding: 0 4px 16px;
}
.account-manage-sidebar__heading h2 { margin: 0; font-size: 1.1rem; }
.account-manage-nav {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.account-manage-nav__link {
    display: grid;
    gap: 2px;
    position: relative;
    border: 1px solid transparent;
    border-radius: 11px;
    padding: 11px 13px;
    color: var(--bs-body-color);
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease;
}
.account-manage-nav__link:hover,
.account-manage-nav__link:focus-visible {
    border-color: var(--dashboard-border);
    background: var(--dashboard-tint);
    color: var(--dashboard-accent-strong);
}
.account-manage-nav__link.active {
    border-color: var(--rt-palette-rgba-31-107-67-p18);
    background: var(--dashboard-tint);
    color: var(--dashboard-accent-strong);
}
.account-manage-nav__link.active::before {
    content: "";
    position: absolute;
    top: 11px;
    bottom: 11px;
    left: -1px;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: var(--dashboard-accent);
}
.account-manage-nav__link strong { font-size: .88rem; }
.account-manage-nav__link span { color: var(--dashboard-muted); font-size: .7rem; line-height: 1.35; }
.account-manage-content {
    min-width: 0;
    min-height: 360px;
    padding: 28px;
}
.account-manage-section-heading,
.account-manage-content > h3 {
    margin: 0 0 24px;
    border-bottom: 1px solid var(--dashboard-border);
    padding-bottom: 20px;
}
.account-manage-section-heading h2,
.account-manage-content > h3 {
    color: var(--bs-body-color);
    font-size: 1.4rem;
    line-height: 1.2;
}
.account-manage-section-heading h2 { margin: 0; }
.account-manage-section-heading > p:last-child {
    max-width: 680px;
    margin: 8px 0 0;
    color: var(--dashboard-muted);
    font-size: .84rem;
    line-height: 1.55;
}
.account-status-message { margin: 0 0 20px; }
.account-identity-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-tint);
    padding: 20px;
}
.account-identity-summary__mark {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: var(--dashboard-accent);
    color: var(--dashboard-primary-action-text, var(--rt-color-white));
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
}
.account-identity-summary__copy { display: grid; gap: 3px; min-width: 0; }
.account-identity-summary__copy > span,
.account-security-status > div > span,
.account-security-method > div > span,
.account-data-action > div > span {
    color: var(--dashboard-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.account-identity-summary__copy strong { overflow-wrap: anywhere; font-size: 1rem; }
.account-identity-summary__copy p,
.account-security-status p,
.account-security-method p,
.account-data-action p {
    margin: 2px 0 0;
    color: var(--dashboard-muted);
    font-size: .78rem;
    line-height: 1.5;
}
.account-manage-form {
    display: grid;
    gap: 18px;
    width: min(100%, 580px);
}
.account-manage-form .form-control,
.account-manage-content .form-control {
    min-height: 52px;
    border-color: var(--dashboard-border);
    border-radius: 10px;
}
.account-manage-form__actions {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--dashboard-border);
    padding-top: 18px;
}
.account-manage-form button,
.account-manage-actions button,
.account-data-action button { border: 0; }
.account-manage-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
}
.account-manage-actions form { margin: 0; }
.account-security-status {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 13px;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-tint);
    padding: 18px;
}
.account-security-status__indicator {
    width: 11px;
    height: 11px;
    margin-top: 6px;
    border: 2px solid var(--bs-body-bg);
    border-radius: 50%;
    background: var(--dashboard-muted);
    box-shadow: 0 0 0 1px var(--dashboard-border);
}
.account-security-status--enabled .account-security-status__indicator { background: var(--dashboard-accent); }
.account-security-status strong { display: block; margin-top: 2px; font-size: .95rem; }
.account-security-method {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
    border-top: 1px solid var(--dashboard-border);
    padding-top: 22px;
}
.account-security-method h3 { margin: 3px 0 0; font-size: 1.05rem; }
.account-security-method .account-manage-actions { flex: 0 0 auto; justify-content: flex-end; margin-top: 0; }
.account-data-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.account-data-action {
    display: flex;
    min-width: 0;
    min-height: 210px;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-tint);
    padding: 20px;
}
.account-data-action h3 { margin: 4px 0 0; font-size: 1.05rem; }
.account-data-action form,
.account-data-action > a { margin-top: auto; }
.account-data-action--danger { background: rgba(var(--bs-danger-rgb), .055); }
.account-manage-content > .row { margin: 0; }
.account-manage-content > .row > [class*="col-"] {
    width: min(100%, 580px);
    max-width: none;
    padding: 0;
}
.account-manage-content > form,
.account-manage-content > div > form { width: min(100%, 580px); }
.account-manage-content .btn-primary,
.account-manage-content .btn-danger {
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    padding: 10px 17px;
    font-size: .88rem;
    font-weight: 700;
}
.account-manage-content .btn-primary {
    background: var(--dashboard-accent);
    color: var(--dashboard-primary-action-text, var(--rt-color-white));
}
.account-manage-content .btn-primary:hover,
.account-manage-content .btn-primary:focus-visible {
    background: var(--dashboard-accent-strong);
    color: var(--dashboard-primary-action-text, var(--rt-color-white));
}
.account-manage-content .btn-danger { background: var(--bs-danger, var(--rt-color-danger)); }
.account-manage-content .btn-danger:hover,
.account-manage-content .btn-danger:focus-visible { background: var(--rt-color-danger-hover); }
.account-manage-content .btn-link {
    color: var(--dashboard-accent);
    font-weight: 700;
    text-underline-offset: 3px;
}
.account-manage-content > .alert,
.account-manage-content > div > .alert { border-radius: 12px; }
.account-manage-content .alert p:last-child { margin-bottom: 0; }
.account-manage-content > h4 { margin: 26px 0 12px; font-size: 1.05rem; }
.account-manage-content .list { padding-left: 1.25rem; }
.account-manage-content .list > li + li { margin-top: 18px; }
.account-manage-content .list .row { margin: 0; }
.account-manage-content .list .row > [class*="col-"] {
    width: min(100%, 580px);
    max-width: none;
    padding: 0;
}
.account-manage-content kbd {
    border: 1px solid var(--dashboard-border);
    border-radius: 7px;
    background: var(--dashboard-tint);
    padding: 4px 7px;
    color: var(--bs-body-color);
    font-size: .82rem;
}
.account-manage-content .recovery-code { display: inline-block; margin: 3px; padding: 6px 8px; }

/* Shared Create and Edit form system */
.app-form-page,
.app-form-shell { width: 100%; min-width: 0; }
.app-preformatted-content { white-space: pre-wrap; }
.range-trip-date-trigger { margin-right: 10px; margin-left: 10px; }
.range-trip-duration-fields { display: inline-flex; align-items: center; margin-right: 10px; }
.range-trip-duration-input { width: 50px; }
.range-trip-duration-hours-label { margin-right: 5px; }
.range-trip-duration-minutes-label { margin-right: 10px; }
.timer-data-chart { height: 300px; text-align: center; }
.error-page-image { margin: 10px; border: 4px solid var(--rt-color-black); border-radius: 20px; padding: 3px; }
.range-master-search-content { justify-items: start; }
.app-entry-form {
    display: grid;
    gap: 20px;
    width: min(100%, 1120px);
    max-width: 100%;
    min-width: 0;
    margin: 0 auto;
    padding: 34px 0 72px;
    text-align: left;
}
.app-entry-form > * { min-width: 0; }
.app-create-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 4px;
}
.app-create-header h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1; }
.app-create-heading-copy { margin: 10px 0 0; color: var(--dashboard-muted); }
.app-create-actions { display: flex; align-items: center; gap: 10px; }
.app-create-actions button { border: 0; }
.app-entry-form > .createEntry,
.app-entry-form > .form-group {
    border: 1px solid var(--dashboard-border);
    border-radius: 18px;
    background: var(--bs-body-bg);
    box-shadow: 0 10px 30px var(--rt-palette-rgba-24-42-31-p055);
    padding: 24px;
}
.app-form-section {
    border: 1px solid var(--dashboard-border);
    border-radius: 18px;
    background: var(--bs-body-bg);
    box-shadow: 0 10px 30px var(--rt-palette-rgba-24-42-31-p055);
    padding: 24px;
}
.app-form-section-heading { margin-bottom: 20px; }
.firearm-caliber-editor { display: grid; gap: 16px; }
.firearm-caliber-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.firearm-caliber-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    border: 1px solid var(--dashboard-border);
    border-radius: 13px;
    background: var(--bs-body-bg);
    padding: 12px 14px;
    color: var(--bs-body-color);
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.firearm-caliber-item:hover,
.firearm-caliber-item:focus-visible {
    border-color: var(--firearm-caliber-color, var(--dashboard-accent));
    box-shadow: 0 8px 22px var(--rt-palette-rgba-24-42-31-p09);
    color: var(--bs-body-color);
    transform: translateY(-1px);
}
.firearm-caliber-color {
    width: 12px;
    height: 36px;
    border-radius: 999px;
    background: var(--firearm-caliber-color, var(--dashboard-accent));
}
.firearm-caliber-copy { display: grid; gap: 2px; min-width: 0; }
.firearm-caliber-copy strong { overflow-wrap: anywhere; font-size: .95rem; }
.firearm-caliber-copy small { color: var(--dashboard-muted); font-size: .72rem; }
.firearm-caliber-chevron { color: var(--dashboard-muted); font-size: 1.55rem; line-height: 1; }
.firearm-caliber-add { justify-self: start; }
.firearm-caliber-add span { font-size: 1.2rem; line-height: 1; }
@media (prefers-reduced-motion: reduce) {
    .firearm-caliber-item { transition: none; }
}
.configuration-color-previews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.configuration-color-preview { display: grid; gap: 12px; border: 1px solid var(--dashboard-border); border-radius: 14px; background: var(--dashboard-tint); padding: 18px; }
.configuration-color-preview > span { color: var(--dashboard-muted); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.configuration-color-samples { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.configuration-color-samples .reference-value-display { margin: 0; }
.configuration-color-picker { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 22px !important; border-top: 1px solid var(--dashboard-border); padding-top: 22px; }
.configuration-color-input { width: 112px; min-height: 52px !important; padding: 5px; cursor: pointer; }
.configuration-random-color { display: inline-flex; align-items: center; gap: 8px; border: 0; }
.configuration-random-color img { width: 22px; height: 22px; }
[data-bs-theme="dark"] .configuration-random-color img { filter: invert(1); }
.edit-color-controls {
    display: grid;
    gap: 10px;
    border-top: 1px solid var(--dashboard-border);
    padding-top: 14px;
}
.edit-color-controls h4 { margin: 0; font-size: .95rem; }
.edit-color-controls__content { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.edit-color-controls__content .reference-value-display { margin: 0; }
.edit-color-controls__action { min-height: 36px; padding: 7px 12px; font-size: .78rem; }

/* Informational and onboarding pages */
.info-page { display: grid; gap: 20px; }
.info-page .info-page-heading { margin-bottom: 0; }
.info-primary-card,
.info-secondary-card,
.contact-form,
.legal-document,
.whats-new-card,
.onboarding-complete-card,
.onboarding-ready-card { min-width: 0; }
.range-master-search { max-width: 900px; margin-top: 22px; }
.range-master-response { display: grid; gap: 8px; margin-top: 22px; border-left: 3px solid var(--dashboard-accent); background: var(--dashboard-tint); padding: 16px 18px; }
.range-master-response span { color: var(--dashboard-muted); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.range-master-response p { margin: 0; line-height: 1.65; }
.range-master-examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.range-master-examples p { margin: 0; border: 1px solid var(--dashboard-border); border-radius: 12px; background: var(--dashboard-tint); padding: 16px; color: var(--dashboard-muted); font-style: italic; }
.info-success-message { margin: 0; }
.contact-form { display: grid; gap: 22px; width: min(100%, 900px); }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-form-wide { grid-column: 1 / -1; }
.contact-form .form-group { display: grid; gap: 6px; margin: 0; }
.contact-form label { color: var(--dashboard-muted); font-size: .76rem; font-weight: 700; }
.contact-form .form-control { min-height: 44px; border-color: var(--dashboard-border); border-radius: 10px; }
.contact-form textarea.form-control { min-height: 150px; }
.contact-captcha { max-width: 520px; }
.contact-form-actions { display: flex; justify-content: flex-end; border-top: 1px solid var(--dashboard-border); padding-top: 20px; }
.contact-form-actions button { border: 0; }
.legal-document { width: min(100%, 980px); line-height: 1.7; }
.legal-document h2 { margin: 34px 0 12px; font-size: 1.35rem; }
.legal-document h4 { margin: 22px 0 8px; color: var(--dashboard-accent-strong); font-size: 1rem; }
.legal-document hr { margin: 30px 0; border-color: var(--dashboard-border); opacity: 1; }
.legal-document li + li { margin-top: 6px; }
.whats-new-card { overflow: hidden; }
.whats-new-card > hr { margin: 28px 0; border-color: var(--dashboard-border); opacity: 1; }
.whats-new-card .whatsnew-feature { margin-top: 24px; color: var(--dashboard-accent-strong); font-size: 1.1rem; font-weight: 700; }
.whats-new-card .whatsnew-text { margin-top: 8px; color: var(--dashboard-muted); line-height: 1.65; }
.whats-new-card .screenshot_container { gap: 16px; margin-top: 18px; }
.whats-new-card .screenshot-border { border-color: var(--dashboard-border); border-radius: 12px; }
.app-list-field {
    display: grid;
    gap: 10px;
    min-width: 0;
}
.app-list-field__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.app-list-field__title { color: var(--dashboard-muted); font-size: .8rem; }
.app-list-field__add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    border: 1px solid var(--dashboard-border);
    border-radius: 9px;
    background: var(--bs-body-bg);
    padding: 7px 12px;
    color: var(--dashboard-accent-strong);
    font-size: .78rem;
    font-weight: 750;
}
.app-list-field__add:hover { border-color: var(--dashboard-accent); background: var(--dashboard-tint); }
.app-list-field__add:focus-visible,
.app-list-entry__remove:focus-visible { outline: 3px solid var(--dashboard-accent); outline-offset: 2px; }
.app-list-field__add > span { font-size: 1.15rem; line-height: 1; }
.app-list-field__entries {
    display: flex;
    align-items: start;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
}
.app-list-entry {
    display: grid;
    grid-template-columns: minmax(120px, 180px) 40px;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
.app-list-entry--typed {
    grid-template-columns: minmax(180px, 1fr) minmax(180px, .8fr) 40px;
    width: 100%;
}
.app-list-entry .form-control,
.app-list-entry .form-select {
    width: 100%;
    min-height: 44px;
    margin: 0;
    border-color: var(--dashboard-border);
    border-radius: 9px;
    background-color: var(--bs-body-bg);
}
.app-list-entry .form-control:focus,
.app-list-entry .form-select:focus {
    border-color: var(--dashboard-accent);
    box-shadow: 0 0 0 3px var(--dashboard-tint);
}
.app-list-entry__input.listFieldStyle_Small { width: 100%; margin: 0; }
.app-list-entry:has(.listFieldStyle_Large) { grid-template-columns: minmax(180px, 270px) 40px; }
.app-list-entry__input.listFieldStyle_Large,
.app-list-entry__input.listFieldStyle_stageName { width: 100%; margin: 0; }
.app-list-entry__remove {
    display: inline-grid;
    place-items: center;
    width: 40px;
    min-height: 40px;
    border: 0;
    border-radius: 9px;
    background: transparent;
}
.app-list-entry__remove:hover { background: var(--rt-palette-rgba-180-35-24-p09); }
.app-list-entry__remove img { width: 18px; height: 18px; }
.listfieldContainer_Stages { display: grid; }
.listfieldContainer_Stages .app-list-entry {
    grid-template-columns: minmax(0, 1fr) 40px;
    width: 100%;
}

.onboarding-page { display: grid; gap: 20px; }
.onboarding-page-heading,
.onboarding-complete-heading { margin-bottom: 0; }
.onboarding-shell {
    display: grid;
    gap: 20px;
    width: min(100%, 1080px);
    margin: 0 auto;
}
.onboarding-progress { display: grid; gap: 14px; padding-top: 20px; padding-bottom: 20px; }
.onboarding-progress__summary {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}
.onboarding-progress__summary strong { font-size: 1rem; }
.onboarding-progress__summary > span { color: var(--dashboard-muted); font-size: .76rem; font-weight: 700; }
.onboarding-progress progress {
    width: 100%;
    height: 7px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: var(--dashboard-tint);
    color: var(--dashboard-accent);
}
.onboarding-progress progress::-webkit-progress-bar { border-radius: inherit; background: var(--dashboard-tint); }
.onboarding-progress progress::-webkit-progress-value { border-radius: inherit; background: var(--dashboard-accent); transition: width .2s ease; }
.onboarding-progress progress::-moz-progress-bar { border-radius: inherit; background: var(--dashboard-accent); }
.onboarding-step-list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.onboarding-step-list li {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: var(--dashboard-muted);
}
.onboarding-step-list li > span {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border: 1px solid var(--dashboard-border);
    border-radius: 50%;
    background: var(--bs-body-bg);
    font-size: .65rem;
    font-weight: 800;
}
.onboarding-step-list li > strong {
    overflow: hidden;
    font-size: .68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.onboarding-step-list li.is-current { color: var(--dashboard-accent-strong); }
.onboarding-step-list li.is-current > span {
    border-color: var(--dashboard-accent);
    background: var(--dashboard-accent);
    color: var(--dashboard-primary-action-text);
}
.onboarding-step-list li.is-complete > span {
    border-color: var(--dashboard-accent);
    background: var(--dashboard-tint);
    color: var(--dashboard-accent-strong);
}
.onboarding-wizard-card {
    display: flex;
    min-height: 560px;
    flex-direction: column;
}
.onboarding-step {
    display: grid;
    gap: 24px;
    min-width: 0;
}
.onboarding-step[hidden] { display: none; }
.onboarding-step > .app-card-heading { align-items: start; }
.onboarding-step .app-card-heading__title { font-size: clamp(1.45rem, 3vw, 2rem); }
.onboarding-step .app-card-heading__description { max-width: 760px; }
.onboarding-intro-grid,
.onboarding-finish-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.onboarding-intro-grid article,
.onboarding-finish-grid article {
    display: flex;
    align-items: start;
    gap: 12px;
    min-width: 0;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: var(--dashboard-tint);
    padding: 16px;
}
.onboarding-intro-grid article > span,
.onboarding-finish-grid article > span {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 50%;
    background: var(--bs-body-bg);
    color: var(--dashboard-accent-strong);
    font-size: .7rem;
    font-weight: 800;
}
.onboarding-intro-grid article div,
.onboarding-finish-grid article div { display: grid; gap: 5px; }
.onboarding-intro-grid article p,
.onboarding-finish-grid article p { margin: 0; color: var(--dashboard-muted); font-size: .78rem; line-height: 1.5; }
.onboarding-tip {
    display: flex;
    align-items: center;
    gap: 12px 18px;
    border-left: 3px solid var(--dashboard-accent);
    border-radius: 0 10px 10px 0;
    background: var(--dashboard-tint);
    padding: 14px 16px;
}
.onboarding-tip strong { white-space: nowrap; }
.onboarding-tip span { color: var(--dashboard-muted); font-size: .8rem; }
.onboarding-tip--success { margin-top: 4px; }
.onboarding-field-grid { display: grid; gap: 14px; }
.onboarding-field-grid--two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.onboarding-field-group {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 20px;
    min-width: 0;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--bs-body-bg) 96%, var(--dashboard-tint));
    padding: 18px;
}
.onboarding-field-grid--two-column .onboarding-field-group { grid-template-columns: 1fr; align-content: start; }
.onboarding-field-group--featured { grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); }
.onboarding-field-copy { display: grid; align-content: start; gap: 5px; min-width: 0; }
.onboarding-field-copy .app-card-eyebrow { margin-bottom: 0; }
.onboarding-field-copy h3 { margin: 0; font-size: .98rem; }
.onboarding-field-copy > p:last-child { margin: 0; color: var(--dashboard-muted); font-size: .77rem; line-height: 1.5; }
.onboarding-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    border-top: 1px solid var(--dashboard-border);
    padding-top: 22px;
}
.onboarding-actions__primary { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.onboarding-actions button { border: 0; }
.onboarding-actions button:disabled { cursor: not-allowed; opacity: .45; }

.onboarding-complete-page { display: grid; gap: 20px; text-align: left; }
.onboarding-complete-card,
.onboarding-ready-card { min-width: 0; }
.onboarding-next-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.onboarding-ready-card,
.onboarding-learning-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}
.onboarding-ready-card h2 { margin: 0 0 8px; }
.onboarding-ready-card p { margin: 0; color: var(--dashboard-muted); }
.onboarding-learning-card { background: var(--dashboard-tint); }
.onboarding-learning-card > div { display: grid; gap: 4px; }
.onboarding-learning-card span { color: var(--dashboard-muted); font-size: .8rem; }
.app-form-section-heading h2 { margin: 0; font-size: 1.25rem; }
.app-form-section-heading > p:last-child:not(.app-card-eyebrow) { margin: 7px 0 0; color: var(--dashboard-muted); font-size: .82rem; }

/* Stage result entry keeps the common form language while reducing scoring density. */
.stage-create-form { width: min(100%, 1040px) !important; }
.stage-create-section { padding: 22px; }
.stage-create-section > .app-form-section-heading { margin-bottom: 16px; }
.stage-create-section > .createEntry { gap: 16px; }
.stage-create-values > .col-sm-1 { grid-column: span 2 !important; }
.stage-create-optional {
    overflow: hidden;
    border: 1px solid var(--dashboard-border);
    border-radius: 18px;
    background: var(--bs-body-bg);
}
.stage-create-optional > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    padding: 18px 22px;
    color: var(--dashboard-accent-strong);
    font-weight: 750;
    list-style: none;
}
.stage-create-optional > summary::-webkit-details-marker { display: none; }
.stage-create-optional > summary::after { content: "+"; font-size: 1.35rem; font-weight: 500; }
.stage-create-optional[open] > summary::after { content: "−"; }
.stage-create-optional > summary span {
    margin-left: auto;
    border-radius: 999px;
    background: var(--dashboard-tint);
    padding: 4px 9px;
    color: var(--dashboard-accent);
    font-size: .68rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.stage-create-optional-content {
    display: grid;
    gap: 18px;
    border-top: 1px solid var(--dashboard-border);
    padding: 22px;
}
.stage-create-static-content {
    border-top: 0;
    padding: 0;
}
.stage-create-optional-content > .createEntry {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}
.stage-create-optional-content > .createEntry > [class*="col-"] { width: auto; max-width: none; padding: 0; }
.stage-create-optional-content > .stage-create-values > .col-sm-1 { grid-column: span 4 !important; }
.stage-create-optional-content > .helper-text { margin: 0 !important; }
.match-edit-placement-grid > .col-md-6 { grid-column: span 6; }
.match-edit-score-grid > .col-md-2 { grid-column: span 2; }
.match-edit-score-grid > .col-md-8 { grid-column: span 8; }
.match-edit-score-heading {
    margin-top: 4px;
    border-top: 1px solid var(--dashboard-border);
    padding-top: 20px;
}
:is(.app-entry-form, .app-form-section) > .createEntry {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
    gap: 18px;
}
:is(.app-entry-form, .app-form-section) > .createEntry > [class*="col-"] { width: auto; max-width: none; padding: 0; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-1, .col-sm-1) { grid-column: span 1; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-2, .col-sm-2) { grid-column: span 2; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-3, .col-sm-3) { grid-column: span 3; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-4, .col-sm-4) { grid-column: span 4; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-5, .col-sm-5) { grid-column: span 5; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-6, .col-sm-6) { grid-column: span 6; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-7, .col-sm-7) { grid-column: span 7; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-8, .col-sm-8) { grid-column: span 8; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-9, .col-sm-9) { grid-column: span 9; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-10, .col-sm-10) { grid-column: span 10; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-11, .col-sm-11) { grid-column: span 11; }
:is(.app-entry-form, .app-form-section) > .createEntry > :is(.col-md-12, .col-sm-12) { grid-column: span 12; }
.app-entry-form .form-group { min-width: 0; margin: 0; }
.app-entry-form .control-label,
.app-entry-form label { margin-bottom: 6px; color: var(--dashboard-muted); font-size: .76rem; font-weight: 700; letter-spacing: .02em; }
.app-entry-form label:has(+ input[required])::after,
.app-entry-form label:has(+ select[required])::after,
.app-entry-form label:has(~ .control-group-with-add input[required])::after,
.app-entry-form label:has(~ .control-group-with-add select[required])::after { content: " · Required"; color: var(--rt-color-warning); font-size: .68rem; }
.app-entry-form .form-control,
.app-entry-form .form-select {
    min-height: 44px;
    border-color: var(--dashboard-border);
    border-radius: 10px;
    background-color: var(--bs-body-bg);
}
.app-entry-form input.form-control:is([type="date"], [type="time"], [type="datetime-local"]) {
    height: 44px;
    padding: .5rem .75rem;
    line-height: 1.5;
}
.app-entry-form input.form-control:is([type="date"], [type="time"], [type="datetime-local"])::-webkit-date-and-time-value {
    min-height: 1.5em;
    text-align: center;
}
.app-entry-form input.form-control:is([type="date"], [type="time"], [type="datetime-local"])::-webkit-datetime-edit {
    padding: 0;
}
.app-entry-form .form-control:focus,
.app-entry-form .form-select:focus { border-color: var(--dashboard-accent); box-shadow: 0 0 0 3px var(--dashboard-tint); }
.app-entry-form .form-control[readonly],
.app-entry-form .form-control.ui-state-disabled { background: var(--dashboard-tint); color: var(--dashboard-accent-strong); font-weight: 700; }
.app-entry-form .control-group-with-add { align-items: center; gap: 8px; }
.app-entry-form .control-group-with-add .rounded-border { flex: 0 0 auto; }
.app-entry-form .text-danger { display: block; margin-top: 5px; font-size: .75rem; }
.app-entry-form .helper-text { margin: 0 0 10px; border-radius: 10px; background: var(--rt-palette-rgba-180-74-47-p07); padding: 10px 12px; color: var(--rt-color-warning) !important; font-size: .78rem; line-height: 1.4; }
.app-entry-form > [data-valmsg-summary="true"]:not(:empty),
.app-entry-form > .validation-summary-errors {
    border: 1px solid var(--rt-palette-rgba-180-74-47-p3);
    border-radius: 12px;
    background: var(--rt-palette-rgba-180-74-47-p07);
    padding: 14px 18px;
}
.dashboard-range-master { margin-top: 20px; }
.dashboard-range-master > div:first-child { max-width: 440px; }
.dashboard-range-master-body { display: flex; align-items: center; justify-content: flex-end; gap: 24px; flex: 1; }
.dashboard-range-master-copy { max-width: 440px; margin: 9px 0 0; color: var(--dashboard-muted); }
.dashboard-range-master-input { width: min(100%, 570px); }
.dashboard-range-master-input .control-label { display: none; }
.dashboard-range-master-input .rounded-border { width: 40px; margin-left: 8px; }

@media (max-width: 900px) {
    .onboarding-field-grid--two-column,
    .onboarding-next-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .onboarding-field-group,
    .onboarding-field-group--featured { grid-template-columns: 1fr; align-content: start; }
    .onboarding-step-list li > strong { display: none; }
    .onboarding-step-list li { justify-content: center; }
    .dashboard-priority-grid,
    .dashboard-insight-grid { grid-template-columns: 1fr; }
    .inventory-priority-grid { grid-template-columns: 1fr; }
    .range-trips-priority-grid,
    .range-trips-insight-grid { grid-template-columns: 1fr; }
    .matches-priority-grid,
    .matches-insights-grid { grid-template-columns: 1fr; }
    .firearms-priority-grid { grid-template-columns: 1fr; }
.ammo-priority-grid { grid-template-columns: 1fr; }
    .products-priority-grid { grid-template-columns: 1fr; }
    .settings-grid,
    .settings-color-grid { grid-template-columns: 1fr; }
    .settings-account-card { grid-column: auto; }
    .insights-section-grid { grid-template-columns: 1fr; }
    .insights-overview-heading { align-items: stretch; flex-direction: column; }
    .insights-overview-switch { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: initial; }
    .insights-overview-switch label { min-width: 0; padding: 7px 6px; font-size: .72rem; }
    .insights-summary-card { grid-column: auto; }
    .insights-period-toolbar { align-items: flex-start; flex-direction: column; }
    .match-what-if-grid { grid-template-columns: 1fr; }
    .match-what-if-results-card { position: static; }
    .match-import-details-grid { grid-template-columns: 1fr; }
    .app-entry-form > .createEntry > [class*="col-"] { grid-column: 1 / -1; }
    .app-form-section > .createEntry > [class*="col-"] { grid-column: 1 / -1; }
    .match-edit-placement-grid > [class*="col-"],
    .match-edit-score-grid > [class*="col-"] { grid-column: 1 / -1; }
    .stage-create-values > .col-sm-1 { grid-column: span 4 !important; }
    .app-page-actions { align-items: flex-end; flex-direction: column-reverse; gap: 12px; }
    .app-details-grid,
    .app-details-grid--equal,
    .match-kind-performance-grid { grid-template-columns: 1fr; }
    .firearm-details-overview-grid { grid-template-columns: 1fr; }
    .match-details-overview-grid > .app-details-sidebar { position: static; }
    .match-time-breakdown { grid-template-columns: 1fr; }
    .firearm-details-actions { position: static; }
    .range-trip-details-actions-wrap { position: static; }
    .shooting-set-details-actions-wrap { position: static; }
    .stage-result-actions-wrap { position: static; }
    .stage-result-chart-grid { grid-template-columns: 1fr; }
    .ammo-details-actions-wrap { position: static; }
    .ammo-details-chart-grid { grid-template-columns: 1fr; }
    .inventory-details-priority-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .account-manage-grid { grid-template-columns: 1fr; }
    .account-manage-sidebar { position: static; }
    .account-manage-nav { grid-template-columns: 1fr; }
    .account-manage-content { min-height: 0; }
    .account-security-method { align-items: stretch; flex-direction: column; }
    .account-security-method .account-manage-actions { justify-content: flex-start; }
    .account-data-actions { grid-template-columns: 1fr; }
    .account-data-action { min-height: 190px; }
    .account-manage-form__actions .app-primary-action,
    .account-manage-actions > *,
    .account-manage-actions form > *,
    .account-data-action > a,
    .account-data-action form,
    .account-data-action form > * { width: 100%; }
    .configuration-color-previews { grid-template-columns: 1fr; }
    .configuration-color-picker { align-items: stretch; flex-direction: column; }
    .configuration-random-color { justify-content: center; }
    .range-master-examples,
    .contact-form-grid,
    .onboarding-next-actions,
    .onboarding-field-grid--two-column,
    .onboarding-intro-grid,
    .onboarding-finish-grid { grid-template-columns: 1fr; }
    .contact-form-wide { grid-column: auto; }
    .contact-form-actions .app-primary-action { width: 100%; }
    .onboarding-wizard-card { min-height: 0; }
    .onboarding-tip { align-items: start; flex-direction: column; }
    .onboarding-tip strong { white-space: normal; }
    .onboarding-actions { display: grid; align-items: stretch; }
    .onboarding-actions__primary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .onboarding-actions > button,
    .onboarding-actions__primary > button { width: 100%; }
    .onboarding-ready-card,
    .onboarding-learning-card { align-items: stretch; flex-direction: column; }
    .onboarding-ready-card .app-primary-action,
    .onboarding-learning-card .app-secondary-action { width: 100%; }
    .app-list-entry,
    .app-list-entry:has(.listFieldStyle_Large) {
        grid-template-columns: minmax(0, 1fr) 40px;
        width: 100%;
    }
    .app-list-entry--typed { grid-template-columns: minmax(0, 1fr) 40px; }
    .app-list-entry--typed .app-list-entry__kind {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    .app-list-entry--typed .app-list-entry__remove {
        grid-column: 2;
        grid-row: 1;
    }
    .match-workflow-actions { align-items: stretch; flex-direction: column-reverse; }
    .match-what-if-input-row { grid-template-columns: 1fr; }
    .match-what-if-input { width: 100%; }
    .stage-create-values > .col-sm-1,
    .stage-create-optional-content > .stage-create-values > .col-sm-1,
    .stage-create-section,
    .stage-create-optional-content { padding: 18px; }
    .stage-create-static-content { padding: 0; }
    .dashboard-home,
    .app-page { padding: 18px 0 48px; }
    .dashboard-heading,
    .app-page-heading { align-items: flex-start; }
    .app-page-actions { align-items: flex-end; }
    .app-page-links { display: none; }
    .app-details-facts { grid-template-columns: 1fr; }
    .dashboard-heading-copy,
    .app-page-heading-copy { display: none; }
    .dashboard-primary-action,
    .app-primary-action { min-height: 40px; padding: 8px 12px; font-size: .82rem; }
    .dashboard-card,
    .app-card { border-radius: 14px; padding: 18px; }
    .dashboard-next-trip { min-height: 0; }
    .dashboard-next-event-card { max-height: none; overflow-y: visible; }
    .dashboard-card-heading,
    .app-card-heading { align-items: flex-start; }
    .equipment-usage-heading { align-items: stretch; flex-direction: column; }
    .equipment-usage-switch { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: initial; }
    .equipment-usage-switch label { min-width: 0; padding: 7px 6px; font-size: .72rem; }
    .dashboard-trip-details { grid-template-columns: 1fr; margin: 26px 0 22px; }
    .dashboard-action-grid { grid-template-columns: 1fr 1fr; }
    .dashboard-action-grid > a { align-items: flex-start; min-height: 104px; flex-direction: column; }
    .dashboard-action-grid small { display: none; }
    .dashboard-overview-heading { align-items: stretch; flex-direction: column; }
    .dashboard-period-switch { width: 100%; grid-template-columns: repeat(3, 1fr); text-align: center; }
    .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 0; }
    .dashboard-metrics > div,
    .dashboard-metrics > div:first-child { padding: 4px 14px; border-left: 0; }
    .dashboard-metrics > div:nth-child(even) { border-left: 1px solid var(--dashboard-border); }
    .dashboard-chart,
    .dashboard-chart-primary { height: 260px; }
    .dashboard-range-master,
    .dashboard-range-master-body { align-items: stretch; flex-direction: column; }
    .inventory-trend-controls { grid-template-columns: 1fr; }
    .inventory-trend-chart { height: 280px; }
    .inventory-outlook-item {
        grid-template-columns: minmax(0, 1fr) minmax(88px, 108px);
        gap: 8px;
    }
    .inventory-outlook-status {
        line-height: 1.3;
        text-align: right;
        text-wrap: balance;
        white-space: normal;
    }
    .range-trips-chart { height: 280px; }
    .range-trip-display__compact-link { align-items: start; }
    .range-trips-next-card .app-card-heading,
    .matches-next-match-card .app-card-heading { flex-wrap: wrap; }
    .range-trips-next-card .dashboard-card-actions,
    .matches-next-match-card .dashboard-card-actions { align-items: stretch; flex-direction: column; }
    .match-display__compact-link { align-items: start; }
    .matches-results-chart,
    .matches-activity-chart { height: 280px; }
    .ammo-purchase-chart { height: 280px; }
    .settings-color-swatches { grid-template-columns: 1fr; }
    .statistics-page-heading { flex-direction: column; }
    .statistics-page-heading .app-primary-action { width: 100%; }
    .app-entry-form { padding: 18px 0 48px; }
    .app-create-header { align-items: stretch; flex-direction: column; }
    .app-create-heading-copy { display: none; }
    .app-create-actions { width: 100%; }
    .app-create-actions > * { flex: 1; }
    .app-entry-form > .createEntry,
    .app-entry-form > .form-group,
    .app-form-section { border-radius: 14px; padding: 18px; }
}

/* Compact mobile application layout
   Keep controls comfortably tappable while reducing the desktop spacing that
   otherwise compounds when every section becomes a single-column stack. */
.range-trips-secondary { min-width: 0; }
.range-trips-secondary > summary { display: none; }
.range-trips-secondary > .range-trips-calendar-card { margin-top: 20px; }

@media (max-width: 600px) {
    .dashboard-home,
    .app-page,
    .app-entry-form {
        gap: 12px;
        padding: 12px 0 88px;
    }

    .dashboard-heading,
    .app-page-heading {
        gap: 12px;
        min-height: 44px;
        margin-bottom: 14px;
    }

    .dashboard-heading h1,
    .app-page-heading h1,
    .app-create-header h1 {
        font-size: 1.7rem;
        line-height: 1.05;
    }

    .dashboard-eyebrow,
    .app-card-eyebrow,
    .app-page-eyebrow {
        margin-bottom: 5px;
        font-size: .66rem;
    }

    .dashboard-card,
    .app-card,
    .app-entry-form > .createEntry,
    .app-entry-form > .form-group,
    .app-form-section {
        border-radius: 12px;
        padding: 14px;
    }

    .dashboard-card-heading,
    .app-card-heading {
        gap: 12px;
    }

    .app-card-heading__eyebrow { margin-bottom: 5px; }
    .app-card-heading__title { font-size: 1.1rem; }
    .app-card-heading__description {
        margin-top: 5px;
        font-size: .76rem;
    }
    .app-card-heading-actions { gap: 8px; }

    .dashboard-primary-action,
    .dashboard-secondary-action,
    .app-primary-action,
    .app-secondary-action {
        min-height: 44px;
        padding: 8px 12px;
        font-size: .8rem;
    }

    .dashboard-overview,
    .dashboard-quick-actions,
    .app-details-heading,
    .app-details-summary,
    .app-details-page > .app-details-heading + .app-card,
    .settings-setup-card {
        margin-bottom: 12px;
    }

    .dashboard-priority-grid,
    .dashboard-insight-grid,
    .inventory-priority-grid,
    .range-trips-priority-grid,
    .range-trips-insight-grid,
    .matches-priority-grid,
    .matches-insights-grid,
    .firearms-priority-grid,
    .ammo-priority-grid,
    .products-priority-grid,
    .settings-grid,
    .settings-color-grid,
    .insights-section-grid,
    .app-details-grid,
    .app-details-main,
    .app-details-sidebar,
    .firearm-details-page,
    .firearm-details-info-stack,
    .match-details-page,
    .range-trip-details-page,
    .shooting-set-details-page,
    .stage-result-details-page,
    .ammo-details-page,
    .inventory-details-page,
    .app-utility-page {
        gap: 12px;
    }

    .dashboard-priority-grid,
    .dashboard-insight-grid,
    .inventory-priority-grid,
    .range-trips-priority-grid,
    .range-trips-insight-grid,
    .matches-priority-grid,
    .matches-insights-grid,
    .firearms-priority-grid,
    .ammo-priority-grid,
    .products-priority-grid,
    :is(
        .inventory-table-card,
        .range-trips-table-card,
        .matches-table-card,
        .firearms-table-card,
        .ammo-table-card,
        .ammo-orders-table-card,
        .product-purchases-table-card,
        .drill-results-table-card,
        .power-factor-table-card,
        .firearm-parts-table-card,
        .part-changelog-table-card,
        .maintenance-table-card,
        .failures-table-card,
        .firearm-calibers-table-card,
        .stage-results-table-card,
        .reference-catalog-table-card,
        .products-table-card
    ) {
        margin-top: 12px;
    }

    .app-metric-strip {
        --app-metric-min-width: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin-top: 14px;
    }

    .app-metric-strip > div,
    .app-metric-strip > div:last-child {
        width: auto;
        min-width: 0;
        max-width: none;
        border-right: 0;
        border-bottom: 1px solid var(--dashboard-border);
        padding: 10px 12px;
    }

    .app-metric-strip > div:nth-child(odd) {
        border-right: 1px solid var(--dashboard-border);
        padding-left: 0;
    }

    .app-metric-strip > div:nth-child(even) { padding-right: 0; }
    .app-metric-strip > div:nth-last-child(-n + 2) { border-bottom: 0; }
    .app-metric-strip strong,
    .app-metric-edit-value { font-size: 1.2rem; }
    .app-metric-strip span { font-size: .72rem; }

    .range-trips-snapshot-card .app-metric-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .range-trips-snapshot-card .app-metric-strip > div {
        border-right: 1px solid var(--dashboard-border);
        border-bottom: 0;
        padding: 8px 10px;
    }

    .range-trips-snapshot-card .app-metric-strip > div:first-child { padding-left: 0; }
    .range-trips-snapshot-card .app-metric-strip > div:nth-child(3) {
        border-right: 0;
        padding-right: 0;
    }

    .range-trips-snapshot-card .app-metric-strip > div:last-child {
        grid-column: 1 / -1;
        margin-top: 6px;
        border-top: 1px solid var(--dashboard-border);
        border-right: 0;
        padding: 10px 0 0;
    }

    .dashboard-period-switch { padding: 3px; }
    .dashboard-period-switch label { padding: 6px 7px; font-size: .72rem; }
    .dashboard-metrics {
        gap: 10px 0;
        margin-top: 14px;
    }
    .dashboard-metrics > div,
    .dashboard-metrics > div:first-child { gap: 4px; padding: 4px 10px; }
    .dashboard-metrics strong { font-size: 1.25rem; }
    .dashboard-metrics span { font-size: .7rem; }

    .dashboard-trip-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 16px;
        margin: 18px 0 16px;
    }
    .dashboard-trip-details > div { gap: 2px; min-width: 0; }
    .dashboard-trip-details strong,
    .dashboard-trip-date .date-time-display__primary { font-size: .92rem; }
    .dashboard-detail-label { font-size: .65rem; }

    .dashboard-card-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
    }

    .range-trips-next-card .dashboard-card-actions,
    .matches-next-match-card .dashboard-card-actions {
        align-items: center;
        flex-direction: row;
    }

    .dashboard-action-grid {
        gap: 8px;
        margin-top: 14px;
    }
    .dashboard-action-grid > a {
        min-height: 76px;
        gap: 8px;
        padding: 10px;
    }
    .dashboard-action-grid img { width: 28px; height: 28px; }

    .app-details-facts {
        grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
        gap: 14px 16px;
        margin-top: 16px;
    }
    .app-details-facts dt { margin-bottom: 2px; font-size: .66rem; }
    .app-details-facts dd { font-size: .88rem; }

    .firearm-action-links,
    .match-action-links,
    .range-trip-action-links,
    .shooting-set-action-links,
    .stage-result-action-links,
    .ammo-action-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    :is(
        .firearm-action-links,
        .match-action-links,
        .range-trip-action-links,
        .shooting-set-action-links,
        .stage-result-action-links,
        .ammo-action-links
    ) > .app-primary-action:first-child {
        grid-column: 1 / -1;
    }

    .range-trips-secondary {
        margin-top: 12px;
        border: 1px solid var(--dashboard-border);
        border-radius: 12px;
        background: var(--bs-body-bg);
        overflow: hidden;
    }

    .range-trips-secondary > summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        min-height: 52px;
        cursor: pointer;
        padding: 9px 14px;
        list-style: none;
    }
    .range-trips-secondary > summary::-webkit-details-marker { display: none; }
    .range-trips-secondary > summary > span:first-child { display: grid; gap: 2px; }
    .range-trips-secondary > summary strong { font-size: .84rem; }
    .range-trips-secondary > summary small { color: var(--dashboard-muted); font-size: .68rem; }
    .range-trips-secondary-chevron {
        width: 9px;
        height: 9px;
        border-right: 2px solid var(--dashboard-muted);
        border-bottom: 2px solid var(--dashboard-muted);
        transform: rotate(45deg);
        transition: transform .15s ease;
    }
    .range-trips-secondary[open] .range-trips-secondary-chevron { transform: rotate(225deg); }
    .range-trips-secondary[open] > summary { border-bottom: 1px solid var(--dashboard-border); }
    .range-trips-secondary > .range-trips-calendar-card,
    .range-trips-secondary > .range-trips-insight-grid {
        margin: 12px;
    }
    .range-trips-secondary > .range-trips-calendar-card { width: auto; }
    .range-trip-calendar { max-height: 390px; margin-top: 12px; }
    .range-trips-chart { height: 240px; margin-top: 12px; }

    .app-create-header {
        display: block;
        min-height: 44px;
        margin-bottom: 0;
    }

    .app-create-actions {
        position: fixed;
        right: 10px;
        bottom: max(8px, env(safe-area-inset-bottom));
        left: 10px;
        z-index: 1015;
        gap: 8px;
        width: auto;
        border: 1px solid var(--dashboard-border);
        border-radius: 14px;
        background: color-mix(in srgb, var(--bs-body-bg) 94%, transparent);
        box-shadow: var(--rt-shadow-elevated);
        padding: 8px;
        backdrop-filter: blur(14px);
    }
    .app-create-actions > * { min-height: 44px; }

    .app-form-section-heading { margin-bottom: 12px; }
    .app-form-section-heading > p:last-child:not(.app-card-eyebrow) {
        margin-top: 5px;
        font-size: .75rem;
    }
    :is(.app-entry-form, .app-form-section) > .createEntry { gap: 12px; }
    .app-entry-form .form-control,
    .app-entry-form .form-select { margin: 0; }

    .app-entry-form .trumbowyg-button-pane {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 44px;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: thin;
    }
    .app-entry-form .trumbowyg-button-group { flex: 0 0 auto; }
    .app-entry-form .editorStyle,
    .app-entry-form .trumbowyg-box {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
    }
    .app-entry-form .editorStyle { overflow: hidden; }
    .app-entry-form .trumbowyg-editor {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 120px !important;
        padding: 12px;
    }
}

.table-no-data {
    font-style: italic;
    padding-left: 20px;
}
