.ap-workspace {
    --ap-workspace-header-height: 48px;
    --ap-workspace-topbar-offset: var(--ap-workspace-header-height);
    --ap-workspace-rail-width: 52px;
    --ap-workspace-rail-target-size: 44px;
    --ap-workspace-rail-icon-size: 22px;
}

body.ap-workspace[data-workspace-topbar="hidden"] {
    --ap-workspace-topbar-offset: 0px;
}

.ap-workspace-rail {
    --ap-workspace-rail-surface: #edf2f6;
    --ap-workspace-rail-line: #e1e8ee;
    --ap-workspace-rail-hover: #dfe7ed;
    --ap-workspace-rail-active: var(--ap-workspace-rail-hover);
    --ap-workspace-rail-ink: #34435b;
    position: fixed;
    z-index: 100;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: var(--ap-workspace-rail-width);
    padding: .5rem .1875rem;
    border-right: 1px solid var(--ap-workspace-rail-line);
    background: var(--ap-workspace-rail-surface);
}

html.dark .ap-workspace-rail {
    --ap-workspace-rail-surface: color-mix(in srgb, var(--color-base-content) 4%, var(--color-base-100));
    --ap-workspace-rail-line: color-mix(in srgb, var(--color-base-content) 12%, var(--color-base-100));
    --ap-workspace-rail-hover: color-mix(in srgb, var(--color-base-content) 8%, var(--color-base-100));
    --ap-workspace-rail-active: color-mix(in srgb, var(--color-base-content) 11%, var(--color-base-100));
    --ap-workspace-rail-ink: color-mix(in srgb, var(--color-base-content) 82%, var(--color-base-100));
}

.ap-home-context,
.ap-home-week,
.ap-home-queues {
    --ap-home-tint: color-mix(in srgb, var(--ap-workspace-accent) 4%, var(--ap-workspace-surface));
    --ap-home-line: color-mix(in srgb, var(--ap-workspace-accent) 11%, var(--ap-workspace-line));
    color: var(--ap-workspace-ink);
}

.ap-home-context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1.375rem;
    margin: 0 0 .875rem;
    padding: .75rem 1rem;
    border: 1px solid var(--ap-home-line);
    border-radius: .75rem;
    background: var(--ap-home-tint);
    overflow-wrap: anywhere;
}

.ap-home-context > div {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    min-inline-size: 0;
}

.ap-home-context dt {
    color: var(--ap-workspace-muted);
    font-size: .8125rem;
}

.ap-home-context dd {
    min-inline-size: 0;
    margin: 0;
    font-size: .9375rem;
    font-weight: 650;
}

.ap-home-week {
    margin-block-start: 1.125rem;
    font-size: .875rem;
}

.ap-home-week-heading,
.ap-home-panel-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .375rem .75rem;
}

.ap-home-week-heading {
    margin-block-end: .875rem;
}

.ap-home-week-heading h2,
.ap-home-panel-heading h3 {
    margin: 0;
    font-weight: 650;
    line-height: 1.25;
}

.ap-home-week-heading h2 { font-size: 1.25rem; }
.ap-home-panel-heading h3 { font-size: 1.125rem; }

.ap-home-panel-heading > a,
.ap-home-more-work {
    color: var(--ap-workspace-accent);
    font-size: .8125rem;
    white-space: nowrap;
}

.ap-home-panel-heading > a:hover,
.ap-home-more-work:hover { text-decoration: underline; }

.ap-home-week-selector {
    position: relative;
    max-inline-size: 100%;
    margin-inline-start: auto;
}

.ap-home-week-selector > summary,
.ap-home-week-label {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-block-size: 2.25rem;
    padding: .25rem .625rem;
    border: 1px solid var(--ap-home-line);
    border-radius: .5rem;
    background: var(--ap-workspace-surface);
    font-size: .8125rem;
    white-space: nowrap;
}

.ap-home-week-selector > summary {
    cursor: pointer;
    list-style: none;
}

.ap-home-week-selector > summary::-webkit-details-marker { display: none; }
.ap-home-week-selector > summary:hover { background: var(--ap-home-tint); }
.ap-home-week-selector > summary i { font-size: .75rem; }
.ap-home-week-selector[open] > summary i { transform: rotate(180deg); }

.ap-home-week-selector > ul {
    position: absolute;
    z-index: 25;
    inset-block-start: calc(100% + .375rem);
    inset-inline-end: 0;
    inline-size: max-content;
    min-inline-size: 100%;
    max-inline-size: min(16rem, 70vw);
    max-block-size: min(18rem, 45dvh);
    padding: .25rem;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--ap-home-line);
    border-radius: .5rem;
    background: var(--ap-workspace-surface);
    box-shadow: 0 6px 20px color-mix(in srgb, var(--ap-workspace-ink) 16%, transparent);
}

.ap-home-week-selector a {
    display: block;
    padding: .5rem .625rem;
    border-radius: .25rem;
}

.ap-home-week-dates {
    padding: .5rem .625rem;
    border-block-end: 1px solid var(--ap-home-line);
    color: var(--ap-workspace-muted);
    font-size: .75rem;
}

.ap-home-week-selector a:is(:hover, [aria-current="true"]) {
    background: var(--ap-home-tint);
    color: var(--ap-workspace-accent);
}

.ap-home-week-selector a[aria-current="true"] { font-weight: 650; }

.ap-home-weekly-metrics {
    display: grid;
    padding: .625rem 1rem;
    border: 1px solid var(--ap-home-line);
    border-radius: .75rem;
    background: var(--ap-home-tint);
}

.ap-home-weekly-metrics > div {
    min-inline-size: 0;
    padding-block: .625rem;
}

.ap-home-weekly-metrics > div + div {
    border-block-start: 1px solid var(--ap-home-line);
}

.ap-home-scheduled-count,
.ap-home-weekly-metric > div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .125rem .5rem;
}

.ap-home-scheduled-count { align-content: center; }

.ap-home-scheduled-count > i {
    align-self: center;
    margin-inline-end: .25rem;
    color: var(--ap-workspace-accent);
    font-size: 1.625rem;
}

.ap-home-weekly-metrics strong {
    font-size: 1.4375rem;
    font-weight: 675;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.ap-home-meter {
    display: block;
    inline-size: 100%;
    block-size: .6875rem;
    margin-block-start: .5rem;
    overflow: hidden;
    appearance: none;
    border: 0;
    border-radius: .5rem;
    background: var(--ap-workspace-line);
}

.ap-home-meter::-webkit-progress-bar { background: transparent; }
.ap-home-meter::-webkit-progress-value { border-radius: inherit; background: var(--ap-workspace-accent); }
.ap-home-meter::-moz-progress-bar { border-radius: inherit; background: var(--ap-workspace-accent); }

.ap-home-meter-empty {
    border: 2px solid var(--color-warning);
    background: var(--ap-workspace-surface);
}

.ap-home-weekly {
    display: grid;
    margin-block-start: .875rem;
    border: 1px solid var(--ap-home-line);
    border-radius: .75rem;
    background: var(--ap-workspace-surface);
    overflow-wrap: anywhere;
}

.ap-home-weekly > section {
    min-inline-size: 0;
    padding: .875rem;
}

.ap-home-workload + .ap-home-route-preview {
    border-block-start: 1px solid var(--ap-home-line);
}

.ap-home-workload-total { margin: .625rem 0 0; }

.ap-home-workload-total strong,
.ap-home-heatmap strong,
.ap-home-resource-label strong,
.ap-home-metric strong {
    font-variant-numeric: tabular-nums;
}

.ap-home-workload-total small,
.ap-home-workload-empty,
.ap-home-scheduled-copy small,
.ap-home-route-preview small {
    color: var(--ap-workspace-muted);
    font-size: .8125rem;
}

.ap-home-heatmap,
.ap-home-scheduled-work {
    display: grid;
    gap: .375rem;
    margin-block-start: .5rem;
}

.ap-home-heatmap {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
}

.ap-home-heatmap a,
.ap-home-scheduled-work a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .375rem .625rem;
    min-block-size: 100%;
    padding: .375rem .625rem;
    border: 1px solid var(--ap-home-line);
    border-radius: .375rem;
}

.ap-home-heatmap a {
    background: color-mix(in srgb, var(--ap-workspace-accent) var(--ap-home-heat, 6%), var(--ap-workspace-surface));
}

.ap-home-heatmap small {
    display: block;
    color: var(--ap-workspace-muted);
    font-size: .75rem;
}

.ap-home-heatmap strong {
    min-inline-size: 1.625rem;
    padding: 0 .375rem;
    border-radius: .25rem;
    background: color-mix(in srgb, var(--ap-workspace-surface) 78%, transparent);
    text-align: center;
}

.ap-home-heatmap [data-heat="2"] { --ap-home-heat: 12%; }
.ap-home-heatmap [data-heat="3"] { --ap-home-heat: 20%; }
.ap-home-heatmap [data-heat="4"] { --ap-home-heat: 27%; }

.ap-home-work-map {
    display: grid;
    grid-template-columns: repeat(21, 2.75rem);
    gap: .125rem;
    margin-block-start: .75rem;
    padding: .25rem 0 .5rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

.ap-home-work-map li {
    position: relative;
    min-inline-size: 0;
}

.ap-home-work-map li::before {
    position: absolute;
    z-index: 0;
    inset-block-start: 2.6rem;
    inset-inline: 0;
    block-size: 1px;
    background: var(--ap-home-line);
    content: "";
}

.ap-home-work-map li[data-week-start="true"]:not(:first-child) {
    border-inline-start: 1px solid var(--ap-home-line);
}

.ap-home-work-map a {
    display: grid;
    grid-template-rows: 1rem 2.75rem 1rem;
    place-items: center;
    color: var(--ap-workspace-muted);
    font-size: .6875rem;
    line-height: 1;
}

.ap-home-work-map a:is(:hover, :focus-visible) {
    color: var(--ap-workspace-accent);
    text-decoration: none;
}

.ap-home-work-map-day {
    font-weight: 650;
    text-transform: uppercase;
}

.ap-home-work-map-circle {
    --ap-home-work-circle: .5rem;
    display: grid;
    place-items: center;
    inline-size: var(--ap-home-work-circle);
    block-size: var(--ap-home-work-circle);
    border: 1px solid color-mix(in srgb, var(--ap-workspace-accent) 28%, var(--ap-home-line));
    border-radius: 50%;
    background: var(--ap-workspace-surface);
    color: var(--ap-workspace-surface);
    font-size: .625rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    transition: transform .15s ease;
    z-index: 1;
}

.ap-home-work-map-circle[data-scale="1"] { --ap-home-work-circle: 1.25rem; background: color-mix(in srgb, var(--ap-workspace-accent) 38%, var(--ap-workspace-surface)); }
.ap-home-work-map-circle[data-scale="2"] { --ap-home-work-circle: 1.625rem; background: color-mix(in srgb, var(--ap-workspace-accent) 55%, var(--ap-workspace-surface)); }
.ap-home-work-map-circle[data-scale="3"] { --ap-home-work-circle: 2rem; background: color-mix(in srgb, var(--ap-workspace-accent) 75%, var(--ap-workspace-surface)); }
.ap-home-work-map-circle[data-scale="4"] { --ap-home-work-circle: 2.375rem; background: var(--ap-workspace-accent); }
.ap-home-work-map a:is(:hover, :focus-visible) .ap-home-work-map-circle { transform: scale(1.08); }

.ap-home-work-map time {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.ap-home-scheduled-work a { padding: .5rem .625rem; }
.ap-home-scheduled-work a > i { color: var(--ap-workspace-accent); }

.ap-home-scheduled-copy {
    display: grid;
    gap: .125rem;
    min-inline-size: 0;
}

.ap-home-scheduled-title,
.ap-home-scheduled-time {
    display: flex;
    align-items: baseline;
    gap: .25rem .5rem;
}

.ap-home-scheduled-title { flex-wrap: wrap; }

.ap-home-scheduled-time {
    color: var(--ap-workspace-muted);
    font-size: .8125rem;
}

.ap-home-work-status {
    --ap-home-status: var(--ap-workspace-muted);
    display: inline-block;
    padding: .0625rem .375rem;
    border-radius: .5rem;
    background: color-mix(in srgb, var(--ap-home-status) 17%, var(--ap-workspace-surface));
    color: var(--ap-workspace-ink);
    font-size: .75rem;
    font-weight: 600;
}

.ap-home-work-status:is([data-status="draft"], [data-status="pending"]) { --ap-home-status: var(--color-warning); }
.ap-home-work-status[data-status="ready"] { --ap-home-status: var(--color-success); }
.ap-home-work-status[data-status="rejected"] { --ap-home-status: var(--color-error); }

.ap-home-workload-empty,
.ap-home-more-work {
    display: block;
    margin-block-start: .5rem;
}

.ap-home-empty-worksites {
    margin-block-start: .75rem;
    font-size: .8125rem;
}

.ap-home-empty-worksites summary { cursor: pointer; }
.ap-home-empty-worksites ul { max-block-size: 10rem; overflow: auto; }
.ap-home-empty-worksites a {
    display: block;
    padding: .25rem;
    color: var(--ap-workspace-accent);
}
.ap-home-empty-worksites a:hover { text-decoration: underline; }

.ap-home-route-preview a { display: block; }

.ap-home-route-preview a:hover h3 {
    text-decoration: underline;
    text-underline-offset: .2em;
}

.ap-home-route-preview .ap-home-panel-heading > i { color: var(--ap-workspace-accent); }

.ap-home-route-drawing {
    display: block;
    inline-size: 100%;
    block-size: clamp(8rem, 16vw, 12rem);
    margin-block: .5rem;
}

.ap-home-route-drawing polyline { fill: none; stroke: currentColor; stroke-width: 1.5; }
.ap-home-route-drawing circle { fill: var(--ap-workspace-accent); stroke: var(--ap-workspace-surface); stroke-width: 1; }

.ap-home-route-preview small {
    display: block;
    margin-block-start: .375rem;
    text-align: center;
}

.ap-home-resources {
    display: grid;
    align-items: start;
    margin-block-start: .625rem;
    border: 1px solid var(--ap-home-line);
    border-radius: .625rem;
    background: var(--ap-home-tint);
}

.ap-home-resource-panel {
    min-inline-size: 0;
    padding: .5625rem .875rem;
}

.ap-home-resource-label {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--ap-workspace-muted);
    overflow-wrap: anywhere;
}

.ap-home-resource-label strong { color: var(--ap-workspace-ink); }

:is(summary.ap-home-resource-label, summary.ap-home-resource-row) {
    cursor: pointer;
    list-style: none;
}

:is(summary.ap-home-resource-label, summary.ap-home-resource-row)::-webkit-details-marker {
    display: none;
}

.ap-home-resource-label i:first-child { color: var(--ap-workspace-ink); }
.ap-home-resource-label i.fa-chevron-down { margin-inline-start: auto; font-size: .625rem; }
.ap-home-resource-panel[open] > summary i.fa-chevron-down { transform: rotate(180deg); }

.ap-home-report-link:hover,
summary.ap-home-resource-label:hover {
    color: var(--ap-workspace-accent);
}

.ap-home-resource-results {
    max-block-size: 14rem;
    margin-block-start: .375rem;
    overflow: auto;
    font-size: .8125rem;
}

.ap-home-resource-results > li + li { border-block-start: 1px solid var(--ap-home-line); }

.ap-home-resource-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .375rem .25rem;
    overflow-wrap: anywhere;
}

summary.ap-home-resource-row:hover { background: var(--ap-workspace-hover); }

.ap-home-resource-row small {
    display: block;
    color: var(--ap-workspace-muted);
    font-size: .75rem;
}

.ap-home-resource-row strong {
    margin-inline-start: auto;
    max-inline-size: 45%;
    text-align: end;
    font-variant-numeric: tabular-nums;
}

.ap-home-resource-row i { font-size: .625rem; }
.ap-home-resource-results details[open] .ap-home-resource-row i { transform: rotate(180deg); }

.ap-home-resource-sources {
    display: grid;
    gap: .25rem;
    padding: .125rem .25rem .5rem .75rem;
    overflow-wrap: anywhere;
}

.ap-home-resource-sources a { color: var(--ap-workspace-accent); }
.ap-home-resource-sources a:hover { text-decoration: underline; }

.ap-home-queues { margin-block-start: 1.125rem; }
.ap-home-metrics { display: grid; gap: .375rem; }

.ap-home-metric {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .625rem;
    min-block-size: 2.625rem;
    padding: .5rem .875rem;
    border: 1px solid var(--ap-home-line);
    border-radius: .625rem;
    background: var(--ap-workspace-surface);
    font-size: .875rem;
}

.ap-home-metric-active { background: var(--ap-home-tint); }
.ap-home-metric i { color: var(--ap-workspace-accent); }
.ap-home-metric i:last-child { margin-inline-start: auto; }

.ap-home-metric small {
    margin-inline-start: .125rem;
    padding-inline-start: .625rem;
    border-inline-start: 1px solid var(--ap-home-line);
    color: var(--ap-workspace-muted);
    font-size: .75rem;
}

:is(.ap-home-metric, .ap-home-heatmap a, .ap-home-scheduled-work a):hover {
    border-color: var(--ap-workspace-accent);
}

:is(.ap-home-week, .ap-home-queues) :is(a, summary, .ap-home-resource-results):focus-visible {
    outline: 2px solid var(--ap-workspace-accent);
    outline-offset: 2px;
}

.ap-home-resources > .ap-home-resource-panel + .ap-home-resource-panel {
    border-block-start: 1px solid var(--ap-home-line);
}

@media (min-width: 42rem) {
    .ap-home-context > div + div {
        padding-inline-start: 1.375rem;
        border-inline-start: 1px solid var(--ap-home-line);
    }

    .ap-home-weekly-metrics {
        grid-template-columns: minmax(0, .83fr) repeat(2, minmax(0, 1fr));
        padding: .875rem 0;
    }

    .ap-home-weekly-metrics > div {
        padding: .125rem 1rem;
    }

    .ap-home-weekly-metrics > div + div {
        border-block-start: 0;
        border-inline-start: 1px solid var(--ap-home-line);
    }

    .ap-home-resources {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
    }

    .ap-home-resources > .ap-home-resource-panel + .ap-home-resource-panel {
        border-block-start: 0;
        border-inline-start: 1px solid var(--ap-home-line);
    }
}

@media (min-width: 47rem) {
    .ap-home-weekly:has(.ap-home-workload):has(.ap-home-route-preview) {
        grid-template-columns: minmax(0, 1.11fr) minmax(0, 1fr);
        min-block-size: 15rem;
    }

    .ap-home-workload + .ap-home-route-preview {
        border-block-start: 0;
        border-inline-start: 1px solid var(--ap-home-line);
    }
}

.ap-home-navigation {
    max-width: none;
}

.ap-workspace .ap-home-navigation .nav-card-subtitle {
    --nav-card-subtitle-size: .75rem;
    position: absolute;
    z-index: 40;
    top: calc(100% + .5rem);
    left: 1rem;
    width: max-content;
    max-width: min(17rem, calc(100% - 2rem));
    margin: 0;
    padding: .45rem .625rem;
    border-radius: .4375rem;
    background: var(--color-neutral, #2a2e3e);
    color: var(--color-neutral-content, #fff);
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
    overflow-wrap: normal;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 2px 5px #17263818;
}

.ap-workspace .ap-home-navigation .nav-card-shell:hover .nav-card-subtitle,
.ap-workspace .ap-home-navigation .nav-card-shell:has(:focus-visible) .nav-card-subtitle {
    visibility: visible;
    opacity: 1;
    transition: visibility 0s .6s, opacity .12s .6s;
}

.ap-home-navigation .nav-card-badge {
    top: 50%;
}

@media (min-width: 48rem) {
    .ap-workspace .ap-home-navigation .nav-card-grid.ap-hub-navigation {
        grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
        gap: .75rem;
    }
}

.ap-workspace-rail > .ap-workspace-rail-link {
    align-self: center;
}

.ap-workspace-rail-links {
    display: flex;
    flex: 1;
    min-height: var(--ap-workspace-rail-target-size);
    flex-direction: column;
    align-items: center;
    gap: 0;
    overflow-y: auto;
    scrollbar-width: none;
}

.ap-workspace-rail-links::-webkit-scrollbar,
.ap-workspace-rail-utilities::-webkit-scrollbar {
    display: none;
}

.ap-workspace-rail-link {
    position: relative;
    display: flex;
    flex: 0 0 var(--ap-workspace-rail-target-size);
    align-items: center;
    justify-content: center;
    width: var(--ap-workspace-rail-target-size);
    border-radius: var(--ap-workspace-radius, .5rem);
    color: var(--ap-workspace-rail-ink);
    text-decoration: none;
}

.ap-workspace-rail-link > .grow {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.ap-rail-link-count {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 18px;
    padding: 0 4px;
    border: 1px solid var(--ap-workspace-accent, var(--color-primary));
    border-radius: 999px;
    background: var(--ap-workspace-subtle, var(--color-base-200));
    color: var(--ap-workspace-accent, var(--color-primary));
    font-size: 11px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 16px;
    text-align: center;
}

.ap-workspace-rail-link:not(.bg-primary, [aria-current="page"]):hover {
    background: var(--ap-workspace-rail-hover);
    color: var(--ap-workspace-rail-ink);
}

.ap-workspace-rail-link.bg-primary {
    background: var(--ap-workspace-rail-active);
    color: var(--ap-workspace-accent, var(--color-primary));
}

.ap-workspace-rail-utilities {
    display: flex;
    flex: 0 1 auto;
    flex-direction: column;
    align-items: center;
    gap: 0;
    min-height: 0;
    max-height: calc(100dvh - var(--ap-workspace-header-height, 56px) - var(--ap-workspace-rail-target-size) - 1rem);
    margin-top: .5rem;
    padding-top: .5rem;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    border-top: 1px solid var(--ap-workspace-rail-line);
}

.ap-workspace-rail-utilities .btn {
    display: flex;
    flex: 0 0 var(--ap-workspace-rail-target-size);
    align-items: center;
    justify-content: center;
    width: var(--ap-workspace-rail-target-size);
    height: var(--ap-workspace-rail-target-size);
    min-height: var(--ap-workspace-rail-target-size);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    color: var(--ap-workspace-rail-ink);
    box-shadow: none;
}

.ap-workspace-rail-utilities .btn:hover {
    background: var(--ap-workspace-rail-hover);
    color: var(--ap-workspace-rail-ink);
}

.ap-rail-tooltip {
    position: fixed;
    z-index: 190;
    max-width: min(230px, calc(100vw - 80px));
    padding: 7px 10px;
    border-radius: 7px;
    background: var(--color-neutral, #2a2e3e);
    color: var(--color-neutral-content, #fff);
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
    pointer-events: none;
    transform: translateY(-50%);
    box-shadow: 0 2px 5px #17263818;
}

.ap-workspace-rail-utilities .btn:focus-visible {
    outline: 2px solid var(--ap-workspace-accent, var(--color-primary));
    outline-offset: -2px;
}

.ap-workspace-rail-utilities .btn > span:not(.badge, .ap-rail-notification-count),
.ap-workspace-rail-utilities .indicator > span:not(.badge, .ap-rail-notification-count) {
    background: transparent;
    color: inherit;
    box-shadow: none;
}

.ap-workspace-rail-utilities .btn > span.ap-rail-account-avatar {
    display: flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: transparent;
    color: var(--ap-workspace-accent, #001689);
    font-size: 12px;
    font-weight: 500;
}

.ap-rail-notification {
    position: relative;
    display: inline-flex;
    width: var(--ap-workspace-rail-icon-size);
    height: var(--ap-workspace-rail-icon-size);
    align-items: center;
    justify-content: center;
}

.ap-rail-notification-count {
    position: absolute;
    top: -.5rem;
    right: -.625rem;
    min-width: 18px;
    padding: 0 4px;
    border: 1px solid var(--ap-workspace-accent, #001689);
    border-radius: 999px;
    background: var(--ap-workspace-subtle, #edf2f6);
    color: var(--ap-workspace-accent, #001689);
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}

/* Known rail and Home navigation icons use the shared outline set; other configured icons
   keep their original Font Awesome glyph. */
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(
    .fa-house, .fa-home, .fa-clipboard-list, .fa-briefcase,
    .fa-triangle-exclamation, .fa-gear, .fa-calendar-check, .fa-calendar,
    .fa-calendar-days, .fa-route, .fa-map-location-dot, .fa-diagram-project,
    .fa-sitemap, .fa-screwdriver-wrench, .fa-toolbox, .fa-id-card,
    .fa-credit-card, .fa-bell, .fa-file-invoice, .fa-file-lines,
    .fa-chart-column, .fa-chart-bar, .fa-chart-line, .fa-heart-pulse,
    .fa-comment-dots, .fa-comment, .fa-user, .fa-users, .fa-list-check,
    .fa-folder, .fa-folder-open, .fa-magnifying-glass, .fa-clock, .fa-shield,
    .fa-sliders, .fa-book, .fa-building, .fa-car, .fa-database, .fa-eye,
    .fa-circle-question, .fa-inbox, .fa-table-cells-large, .fa-envelope, .fa-pen,
    .fa-plug, .fa-graduation-cap, .fa-thumbtack, .fa-comments, .fa-receipt
) {
    display: inline-block;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    background-color: currentColor;
    -webkit-mask: var(--ap-rail-icon) center / contain no-repeat;
    mask: var(--ap-rail-icon) center / contain no-repeat;
    font-size: 0;
    vertical-align: middle;
    forced-color-adjust: none;
}

.ap-workspace-rail :is(.ap-workspace-rail-link, .ap-workspace-rail-utilities) i:is(.fa-solid, .fa-regular) {
    flex-basis: var(--ap-workspace-rail-icon-size);
    width: var(--ap-workspace-rail-icon-size);
    height: var(--ap-workspace-rail-icon-size);
    font-size: var(--ap-workspace-rail-icon-size);
}

:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(
    .fa-house, .fa-home, .fa-clipboard-list, .fa-briefcase,
    .fa-triangle-exclamation, .fa-gear, .fa-calendar-check, .fa-calendar,
    .fa-calendar-days, .fa-route, .fa-map-location-dot, .fa-diagram-project,
    .fa-sitemap, .fa-screwdriver-wrench, .fa-toolbox, .fa-id-card,
    .fa-credit-card, .fa-bell, .fa-file-invoice, .fa-file-lines,
    .fa-chart-column, .fa-chart-bar, .fa-chart-line, .fa-heart-pulse,
    .fa-comment-dots, .fa-comment, .fa-user, .fa-users, .fa-list-check,
    .fa-folder, .fa-folder-open, .fa-magnifying-glass, .fa-clock, .fa-shield,
    .fa-sliders, .fa-book, .fa-building, .fa-car, .fa-database, .fa-eye,
    .fa-circle-question, .fa-inbox, .fa-table-cells-large, .fa-envelope, .fa-pen,
    .fa-plug, .fa-graduation-cap, .fa-thumbtack, .fa-comments, .fa-receipt
)::before {
    content: none;
    display: none;
}

:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-house, .fa-home) { --ap-rail-icon: url('../core/rail_icons/home.svg'); }
.app-breadcrumbs i:is(.fa-house, .fa-home) {
    display: inline-block;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    background-color: currentColor;
    -webkit-mask: url('../core/rail_icons/home.svg') center / contain no-repeat;
    mask: url('../core/rail_icons/home.svg') center / contain no-repeat;
    font-size: 0;
}
.app-breadcrumbs i:is(.fa-house, .fa-home)::before { content: none; }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-clipboard-list, .fa-list-check) { --ap-rail-icon: url('../core/rail_icons/list-check.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-briefcase, .fa-toolbox) { --ap-rail-icon: url('../core/rail_icons/toolbox.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-screwdriver-wrench { --ap-rail-icon: url('../core/rail_icons/settings.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-triangle-exclamation { --ap-rail-icon: url('../core/rail_icons/alert-triangle.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-gear { --ap-rail-icon: url('../core/rail_icons/settings.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-calendar-check, .fa-calendar, .fa-calendar-days) { --ap-rail-icon: url('../core/rail_icons/calendar.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-route, .fa-map-location-dot) { --ap-rail-icon: url('../core/rail_icons/route.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-diagram-project, .fa-sitemap) { --ap-rail-icon: url('../core/rail_icons/sitemap.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-id-card, .fa-credit-card) { --ap-rail-icon: url('../core/rail_icons/credit-card.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-bell { --ap-rail-icon: url('../core/rail_icons/bell.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-file-invoice, .fa-file-lines) { --ap-rail-icon: url('../core/rail_icons/file-text.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-chart-column, .fa-chart-bar) { --ap-rail-icon: url('../core/rail_icons/chart-bar.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-chart-line, .fa-heart-pulse) { --ap-rail-icon: url('../core/rail_icons/chart-line.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-comment-dots, .fa-comment) { --ap-rail-icon: url('../core/rail_icons/message-circle.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-user { --ap-rail-icon: url('../core/rail_icons/user.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-users { --ap-rail-icon: url('../core/rail_icons/users.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i:is(.fa-folder, .fa-folder-open) { --ap-rail-icon: url('../core/rail_icons/folder.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-magnifying-glass { --ap-rail-icon: url('../core/rail_icons/search.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-clock { --ap-rail-icon: url('../core/rail_icons/clock.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-shield { --ap-rail-icon: url('../core/rail_icons/shield.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-sliders { --ap-rail-icon: url('../core/rail_icons/adjustments.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-book { --ap-rail-icon: url('../core/rail_icons/book.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-building { --ap-rail-icon: url('../core/rail_icons/building-community.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-car { --ap-rail-icon: url('../core/rail_icons/car.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-database { --ap-rail-icon: url('../core/rail_icons/database.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-eye { --ap-rail-icon: url('../core/rail_icons/eye.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-circle-question { --ap-rail-icon: url('../core/rail_icons/help.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-inbox { --ap-rail-icon: url('../core/rail_icons/inbox.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-table-cells-large { --ap-rail-icon: url('../core/rail_icons/layout-grid.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-envelope { --ap-rail-icon: url('../core/rail_icons/mail.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-pen { --ap-rail-icon: url('../core/rail_icons/pencil.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-plug { --ap-rail-icon: url('../core/rail_icons/plug.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-graduation-cap { --ap-rail-icon: url('../core/rail_icons/school.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-thumbtack { --ap-rail-icon: url('../core/rail_icons/pin.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-comments { --ap-rail-icon: url('../core/rail_icons/messages.svg'); }
:is(.ap-workspace-rail, .ap-home-navigation .nav-card-icon, .ap-navigation-icon-preview) i.fa-receipt { --ap-rail-icon: url('../core/rail_icons/receipt.svg'); }

.ap-workspace-rail-link:is(.bg-primary, [aria-current="page"]) > i:is(.fa-solid, .fa-regular) {
    display: grid;
    place-items: center;
    background: none;
    -webkit-mask: none;
    mask: none;
    font-family: "Font Awesome 6 Free";
    font-size: var(--ap-workspace-rail-icon-size);
    font-weight: 900;
    line-height: 1;
    forced-color-adjust: auto;
}

.ap-workspace-rail-link:is(.bg-primary, [aria-current="page"]) > i:is(.fa-solid, .fa-regular)::before {
    display: block;
    content: var(--fa);
}

body:has(.ap-workspace-rail) .ap-workspace-main {
    margin-left: var(--ap-workspace-rail-width);
}

body:has(.ap-workspace-rail) .ap-workspace-navbar {
    left: var(--ap-workspace-rail-width);
}

.ap-workspace-main {
    padding-top: var(--ap-workspace-topbar-offset, 48px);
    background: var(--ap-workspace-canvas, var(--color-base-100));
}

.ap-workspace-navbar {
    width: auto;
    height: var(--ap-workspace-header-height, 56px);
    min-height: var(--ap-workspace-header-height, 56px);
    padding: .25rem .5rem;
    background: var(--ap-workspace-surface, var(--color-base-100));
    border-color: var(--ap-workspace-line, var(--color-base-300));
}

.ap-workspace-navbar > .flex-1 {
    min-width: 0;
}

.drawer[data-navigation-drawer-lifecycle] > .drawer-side {
    transition-property: opacity;
}

.ap-workspace .ap-navigation-panel {
    border-left: 1px solid var(--ap-workspace-line);
    background: var(--ap-workspace-surface);
    box-shadow: none;
}

.ap-workspace .ap-navigation-panel > :is(header, footer) {
    background: var(--ap-workspace-surface);
    border-color: var(--ap-workspace-line);
}

.ap-workspace .ap-navigation-panel .rounded-box {
    border: 0;
    border-bottom: 1px solid var(--ap-workspace-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ap-workspace .ap-navigation-panel :is(label, button).rounded-box:hover {
    background: var(--ap-workspace-hover);
}

.ap-workspace .ap-navigation-panel button[class~="bg-primary/8"] {
    border-left: 2px solid var(--ap-workspace-accent);
    background: var(--ap-workspace-hover);
}

.ap-workspace .ap-navigation-panel .h-10.w-10.rounded-full {
    border-radius: 0;
    background: transparent;
    color: var(--ap-workspace-muted);
}

.ap-planning-context-summary {
    padding: .5rem .75rem 1.25rem;
    border-bottom: 1px solid var(--ap-workspace-line);
}

.ap-planning-context-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
    margin: 0;
}

.ap-planning-context-values > div {
    min-width: 0;
}

.ap-planning-context-values dt {
    margin-bottom: .25rem;
    color: var(--ap-workspace-muted);
    font-size: .75rem;
    line-height: 1.5;
}

.ap-planning-context-values dd {
    margin: 0;
    color: var(--ap-workspace-ink);
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.ap-workspace .ap-context-switch-options :is(.context-switch-card, [data-route-switcher-single-option-notice]) {
    padding: .75rem;
}

.ap-context-switch-options :is(.context-switch-card, [data-route-switcher-single-option-notice]) > div {
    align-items: center;
    gap: .75rem;
}

.ap-workspace .ap-context-switch-options .h-10.w-10.rounded-full {
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    font-size: 1rem;
}

.ap-context-switch-options :is(.context-switch-card, [data-route-switcher-single-option-notice]) p:first-child {
    color: var(--ap-workspace-ink);
    font-size: .875rem;
    font-weight: 500;
}

.ap-context-switch-options :is(.context-switch-card, [data-route-switcher-single-option-notice]) p:nth-child(2) {
    font-size: .75rem;
    line-height: 1.5;
}

.ap-context-switch-options :is(.fa-chevron-right, .badge) {
    margin-top: 0;
}

.ap-workspace :is(#tenant-switcher-drawer-panel, #project-switcher-drawer-panel, #route-switcher-drawer-panel) > header h3 {
    color: var(--ap-workspace-ink);
    font-size: 1rem;
    font-weight: 500;
}

.ap-workspace :is(#tenant-switcher-drawer-panel, #project-switcher-drawer-panel, #route-switcher-drawer-panel) form > button > div {
    align-items: center;
    gap: .75rem;
}

.ap-workspace :is(#tenant-switcher-drawer-panel, #project-switcher-drawer-panel, #route-switcher-drawer-panel) .h-10.w-10.rounded-full {
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    color: var(--ap-workspace-muted);
    font-size: 1rem;
}

.ap-workspace :is(#tenant-switcher-drawer-panel, #project-switcher-drawer-panel, #route-switcher-drawer-panel) .space-y-3 > form {
    margin-top: 0;
}

.ap-workspace :is(#tenant-switcher-drawer-panel, #project-switcher-drawer-panel, #route-switcher-drawer-panel) form > button {
    padding: .75rem;
}

.ap-workspace :is(#tenant-switcher-drawer-panel, #project-switcher-drawer-panel, #route-switcher-drawer-panel) form > button p.font-semibold {
    color: var(--ap-workspace-ink);
    font-size: .875rem;
    font-weight: 500;
}

.ap-account-identity {
    padding: .5rem .25rem .75rem;
}

.ap-workspace .drawer.ap-account-popover > .drawer-side {
    align-items: end;
    justify-items: start;
    height: 100dvh;
    padding: .5rem .5rem max(.5rem, env(safe-area-inset-bottom)) calc(var(--ap-workspace-rail-width) + .375rem);
}

.ap-workspace .drawer.ap-account-popover > .drawer-side > .drawer-overlay {
    background: transparent;
}

.ap-workspace .drawer.ap-account-popover > .drawer-side > #account-drawer-panel {
    width: min(20rem, calc(100vw - var(--ap-workspace-rail-width) - .75rem));
    max-width: none;
    max-height: calc(100dvh - 1rem - env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    box-shadow: 0 .5rem 2rem rgb(0 0 0 / .16);
}

.ap-workspace .ap-account-popover #account-drawer-panel > header {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip-path: inset(50%);
    white-space: nowrap;
}

.ap-account-popover #account-drawer-panel .ap-account-content {
    flex: none;
    overflow: visible;
    padding: .5rem .625rem .25rem;
}

.ap-account-context {
    margin-top: .375rem;
    padding: .125rem .25rem;
    border-top: 1px solid var(--ap-workspace-line);
}

.ap-account-context-heading {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
}

.ap-account-context h3 {
    margin: 0;
    flex-shrink: 0;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
}

.ap-account-context-current {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    color: var(--ap-workspace-muted);
    font-size: .75rem;
    line-height: 1.5;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#account-drawer-panel .ap-account-switch {
    display: flex;
    flex-shrink: 0;
    gap: .375rem;
    width: auto;
    min-height: 2rem;
    height: auto;
    margin: 0;
    padding: .375rem 0;
    border: 0;
    border-radius: .375rem;
    font-size: .75rem;
    font-weight: 500;
}

.ap-account-popover #account-drawer-panel > .ap-account-footer {
    position: static;
    padding: .25rem .625rem;
}

#account-drawer-panel .ap-account-label {
    font-size: .75rem;
}

#account-drawer-panel .ap-account-icon {
    flex-basis: 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    font-size: .875rem;
}

#account-menu-trigger { border-radius: .625rem; }
body:has(#account-drawer:checked) #account-menu-trigger { background: var(--ap-workspace-rail-active); }

.ap-account-content {
    padding: .5rem .75rem .75rem;
}

.ap-account-avatar {
    width: 2rem;
    height: 2rem;
}

.ap-account-name,
.ap-account-label {
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.5;
}

.ap-account-email {
    margin-top: .125rem;
    color: var(--ap-workspace-muted);
    font-size: .75rem;
    line-height: 1.5;
}

.ap-theme-choices {
    display: flex;
    width: 100%;
}

.ap-workspace #theme-drawer-panel {
    max-width: 24rem;
}

.ap-workspace .ap-theme-choices .btn {
    min-height: 2.5rem;
    height: 2.5rem;
    padding-inline: .625rem;
    font-size: .875rem;
}

.ap-account-footer {
    padding: .375rem .75rem;
}

#account-drawer-panel .ap-account-row {
    min-height: 2rem;
    padding: .375rem .25rem;
    gap: .5rem;
    border-bottom: 0;
}

#account-drawer-panel .ap-account-row--section-start {
    margin-top: .25rem;
    border-top: 1px solid var(--ap-workspace-line);
    padding-top: .625rem;
}

.ap-account-row {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .875rem .25rem;
    border: 0;
    border-bottom: 1px solid var(--ap-workspace-line);
    border-radius: 0;
    background: transparent;
    color: var(--ap-workspace-ink);
    text-align: left;
    box-shadow: none;
}

.ap-account-row:is(a, button, label):hover {
    background: var(--ap-workspace-hover);
}

.ap-account-row:focus-visible {
    outline: 2px solid var(--ap-workspace-accent);
    outline-offset: -2px;
}

.ap-account-icon {
    display: flex;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: var(--ap-workspace-muted);
}

.ap-account-note {
    color: var(--ap-workspace-muted);
    font-size: .8125rem;
}

.ap-account-confirmation {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    text-align: center;
}

.ap-account-row--danger .ap-account-icon,
.ap-account-confirmation .ap-account-icon {
    color: var(--color-error);
}

.ap-account-row--warning .ap-account-icon {
    color: var(--color-warning);
}

.ap-workspace-rail-link:focus-visible {
    outline: 2px solid var(--ap-workspace-accent, var(--color-primary));
    outline-offset: -2px;
}

.ap-workspace-rail-link[aria-current="page"] {
    background: var(--ap-workspace-rail-active);
    color: var(--ap-workspace-accent, var(--color-primary));
}

.ap-rail-status {
    display: flex;
    flex: 0 0 var(--ap-workspace-rail-target-size);
    align-items: center;
    justify-content: center;
    width: var(--ap-workspace-rail-target-size);
    height: var(--ap-workspace-rail-target-size);
    color: var(--color-error);
}

@media print {
    .ap-workspace-rail {
        display: none;
    }

    body:has(.ap-workspace-rail) .ap-workspace-main {
        margin-left: 0;
    }

    body:has(.ap-workspace-rail) .ap-workspace-navbar {
        left: 0;
    }
}

.ap-home-role {
    cursor: pointer;
    text-align: left;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: .2em;
}
.ap-home-role:hover, .ap-home-role:focus-visible { text-decoration-color: currentColor; }
.ap-home-role:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.ap-home-role-icon { font-size: .65em; opacity: .55; vertical-align: .08em; }
