/**
 * CARE App Shell chrome.
 *
 * Geometry from --care-layout-* tokens. Selectors are care-shell-* only.
 * No !important. No unscoped Bootstrap/AdminLTE overrides.
 *
 * Mapping: design-system/care-ui/shell-mapping.md
 */

.care-shell-skip {
    position: absolute;
    left: var(--care-space-2);
    top: var(--care-space-2);
    z-index: 10000;
    padding: var(--care-space-2) var(--care-space-3);
    background: var(--care-surface-topbar);
    color: var(--care-text-primary);
    border: 1px solid var(--care-border-default);
    border-radius: var(--care-radius-sm);
    text-decoration: none;
}

.care-shell-skip:not(:focus):not(:focus-visible) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    overflow: hidden;
    white-space: nowrap;
    padding: 0;
    border: 0;
}

.care-shell-skip:focus,
.care-shell-skip:focus-visible {
    outline: 2px solid var(--care-border-strong);
    outline-offset: 2px;
}

.care-shell-header {
    height: var(--care-layout-topbar-height);
    min-height: var(--care-layout-topbar-height);
    position: sticky;
    top: 0;
}

.care-shell-brand,
.care-shell-brand .brand-link {
    height: var(--care-layout-sidebar-brand-height);
    min-height: var(--care-layout-sidebar-brand-height);
    box-sizing: border-box;
}

.care-shell-footer {
    min-height: var(--care-layout-footer-min-height);
}

.care-shell-toggle {
    width: var(--care-space-10);
    height: var(--care-space-10);
}

.care-shell-actions {
    gap: var(--care-space-2);
    align-items: center;
}

/* Demo-Endkunde: Register-CTA darf die 40px-Action-Zeile nicht auf 50px
   aufblasen (sonst sitzt der Tenant-Chip oben statt mittig). Abstand kommt
   aus gap, nicht aus dem Legacy-Margin in optcare-design.css. */
.care-shell-header .care-shell-actions a.oc-register-btn {
    margin-block: 0;
    margin-inline: 0;
}

.care-shell-sidebar .care-shell-tour-dock {
    flex: 0 0 auto;
    margin-top: auto;
    padding-block: var(--care-space-3);
    border-top: 1px solid var(--care-border-default);
}

.care-shell-sidebar .care-shell-tour-btn {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: var(--care-space-2);
    min-height: var(--care-space-10);
    padding-block: var(--care-space-2);
    padding-inline: var(--care-space-3);
    border: 0;
    border-radius: var(--care-radius-sm);
    background: var(--care-action-primary-background);
    color: var(--care-action-primary-on-background);
    font-size: var(--care-font-size-12);
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
}

.care-shell-sidebar .care-shell-tour-btn:hover,
.care-shell-sidebar .care-shell-tour-btn:focus-visible {
    background: var(--care-action-primary-background-hover);
    color: var(--care-action-primary-on-background);
}

.care-shell-sidebar .care-shell-tour-btn:focus-visible {
    outline: 2px solid var(--care-action-primary-focus-ring);
    outline-offset: 2px;
}

.care-shell-sidebar .care-shell-tour-btn__icon {
    flex: 0 0 auto;
}

body.sidebar-collapse .care-shell-sidebar .care-shell-tour-dock {
    padding-inline: var(--care-space-1);
}

body.sidebar-collapse .care-shell-sidebar .care-shell-tour-btn__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.care-shell--care .content-wrapper > .content {
    padding: 0;
}
