:root{--color-primary: #455465;--color-secondary: #007ab8;--color-tertiary: #1ea4a9;--color-state: #0074be;--color-state-hover: #006ab4;--color-state-focus: #006ab4;--color-state-active: #0059a3;--color-state-highlight: #f6f9d7;--color-state-highlight-neutral: var(--color-neutral-3);--color-state-disabled: var(--color-neutral-5);--color-neutral-1: #fff;--color-neutral-2: #fafafa;--color-neutral-3: #f7f7f7;--color-neutral-4: #e6e4e4;--color-neutral-5: #c7c7c7;--color-neutral-6: #767676;--color-neutral-7: #262626;--color-background: var(--color-neutral-1);--color-border: var(--color-neutral-5);--color-text: var(--color-neutral-7);--color-text-disabled: var(--color-neutral-5);--color-text-hint: var(--color-neutral-6);--link-color: var(--color-state);--link-color-hover: var(--color-state-hover);--nav-bg-color: #fafafa;--nav-text-color: var(--color-text);--nav-selected-color: var(--color-state);--nav-border-colour: rgba(128, 128, 128, 0.2);--nav-width: 15rem;--nav-collapsed-width: 5rem;--nav-button-size: 1.25rem;--nav-logo-width: 7.5rem;--nav-logo-height: 7.5rem;--nav-logomark-width: 2.5rem;--nav-logomark-height: 2.5rem;--footer-bg-color: #fff;--footer-text-color: var(--color-text);--footer-text-color-hover: var(--footer-text-color);--btn-accent-color: var(--color-state);--btn-accent-color-active: var(--color-state-active);--btn-accent-color-hover: var(--color-state-hover);--btn-accent-color-disabled: var(--color-state-disabled);--page-content-padding-desktop: calc(var(--gap-base) * 8)}.tui-theme_inspire-navItem{--tui-theme_inspire-navItem-height: 2.75rem;--tui-theme_inspire-navItem-indicator-height: 2rem;--tui-theme_inspire-navItem-top-level-nav-item-padding: 10px;--tui-theme_inspire-navItem-nav-item-padding: 6px;display:flex;flex-grow:1;flex-wrap:wrap;height:var(--tui-theme_inspire-navItem-height);padding-top:calc(var(--gap-base) * 1);color:var(--nav-tab-text-color)}.tui-theme_inspire-navItem--navExpanded{height:100%}.tui-theme_inspire-navItem__icon{width:1.2em;height:1.2em;margin:auto}.tui-theme_inspire-navItem__icon--navExpanded{margin:calc(var(--gap-base) * 3) auto auto calc(var(--gap-base) * 3)}.tui-theme_inspire-navItem .tui-theme_inspire-navItem{padding-top:0}.tui-theme_inspire-navItem--selected{color:var(--nav-selected-color)}.tui-theme_inspire-navItem--selected:before{height:var(--tui-theme_inspire-navItem-indicator-height);margin-top:calc(var(--gap-base) * 1);border-right:calc(var(--gap-base) * 1) solid var(--nav-selected-color);border-top-right-radius:calc(var(--gap-base) * 1);border-bottom-right-radius:calc(var(--gap-base) * 1);content:""}.tui-theme_inspire-navItem .tui-theme_inspire-navItem--selected:before{margin-top:0}.tui-theme_inspire-navItem--link{flex-wrap:nowrap}.tui-theme_inspire-navItem__heading{display:flex;flex-grow:1;align-items:flex-start;padding:0;background-color:inherit;border:none;border-radius:var(--btn-radius)}.tui-theme_inspire-navItem__heading--childSelected{color:var(--nav-selected-color)}.tui-theme_inspire-navItem__heading--depth-0{margin-left:calc(var(--gap-base) * 5);font-weight:600}.tui-theme_inspire-navItem__heading--depth-0.tui-theme_inspire-navItem__heading--navExpanded{margin-left:calc(var(--gap-base) * 3)}.tui-theme_inspire-navItem__heading--depth-0.tui-theme_inspire-navItem__heading--selected{margin-left:calc(var(--gap-base) * 4)}.tui-theme_inspire-navItem__heading--depth-0.tui-theme_inspire-navItem__heading--selected.tui-theme_inspire-navItem__heading--navExpanded{margin-left:calc(var(--gap-base) * 2)}.tui-theme_inspire-navItem__heading--depth-0 .tui-theme_inspire-navItem__headingAction{margin:calc(var(--gap-base) * 2)}.tui-theme_inspire-navItem__heading--depth-1{margin-left:calc(var(--gap-base) * 10);font-weight:400}.tui-theme_inspire-navItem__heading--depth-1.tui-theme_inspire-navItem__heading--selected{margin-left:calc(var(--gap-base) * 9)}.tui-theme_inspire-navItem__heading--depth-2{margin-left:calc(var(--gap-base) * 13)}.tui-theme_inspire-navItem__heading--depth-2.tui-theme_inspire-navItem__heading--selected{margin-left:calc(var(--gap-base) * 12)}.tui-theme_inspire-navItem__heading--link{color:var(--nav-tab-text-color)}.tui-theme_inspire-navItem__heading--link:hover,.tui-theme_inspire-navItem__heading--link:focus{color:var(--nav-tab-text-color);text-decoration:none}.tui-theme_inspire-navItem__heading--link.tui-theme_inspire-navItem__heading--selected{color:var(--nav-selected-color)}@media (hover:hover){.tui-theme_inspire-navItem__heading:hover{background-color:color-mix(in srgb, var(--nav-tab-text-color) 10%, transparent)}}.tui-theme_inspire-navItem__heading:focus-visible{outline:2px solid var(--nav-tab-text-color)}.tui-theme_inspire-navItem__headingText{flex-grow:1;margin:auto;padding:var(--tui-theme_inspire-navItem-nav-item-padding) calc(var(--gap-base) * 1) var(--tui-theme_inspire-navItem-nav-item-padding) calc(var(--gap-base) * 3);text-align:left;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.tui-theme_inspire-navItem__headingText--depth-0{padding:var(--tui-theme_inspire-navItem-top-level-nav-item-padding) calc(var(--gap-base) * 1) var(--tui-theme_inspire-navItem-top-level-nav-item-padding) calc(var(--gap-base) * 3)}.tui-theme_inspire-navItem__headingAction{flex-basis:1.5rem;flex-shrink:0;height:1.5rem;margin:calc(var(--gap-base) * 1) calc(var(--gap-base) * 2);padding:var(--tui-theme_inspire-navItem-nav-item-padding);color:var(--nav-tab-text-color)}.tui-theme_inspire-navItem__children{flex-basis:100%;margin-bottom:calc(var(--gap-base) * 2);margin-left:0;list-style:none}.tui-theme_inspire-navigation__toggle{position:absolute;z-index:1;width:var(--nav-button-size);height:var(--nav-button-size);margin:calc(var(--gap-base) * 4);color:var(--color-text)}.tui-theme_inspire-navigation__toggle--overlay{display:block}.tui-theme_inspire-navigation__toggle--expand{display:none}@media (min-width:992px){.tui-theme_inspire-navigation__toggle{left:var(--nav-collapsed-width)}.tui-theme_inspire-navigation__toggle--overlay{display:none}.tui-theme_inspire-navigation__toggle--expand{position:fixed;display:block;margin:calc(var(--gap-base) * 1);background-color:var(--color-neutral-3);opacity:0;transition:opacity var(--transition-button-duration) var(--transition-button-function) 1s}.tui-theme_inspire-navigation__toggle--expand:hover,.tui-theme_inspire-navigation__toggle--expand:focus,.tui-theme_inspire-navigation__toggle--expand:has(~ .tui-theme_inspire-navigation>.tui-theme_inspire-navigation__nav:hover),.tui-theme_inspire-navigation__toggle--expand:has(~ .tui-theme_inspire-navigation>.tui-theme_inspire-navigation__nav:focus-within){opacity:1;transition-delay:0s}.tui-theme_inspire-navigation__toggle--navExpanded{left:var(--nav-width)}.tui-theme_inspire-navigation__toggle-icon{--rotate-r: rotateY(0deg);--rotate-l: rotateY(180deg);transform:var(--rotate-r);transition-duration:0.5s}.dir-rtl .tui-theme_inspire-navigation__toggle-icon{transform:var(--rotate-l)}.tui-theme_inspire-navigation__toggle-icon--expanded{transform:var(--rotate-l)}.dir-rtl .tui-theme_inspire-navigation__toggle-icon--expanded{transform:var(--rotate-r)}}.tui-theme_inspire-navigation__toggle--navHidden{left:0}.tui-theme_inspire-navigation{position:relative;z-index:var(--zindex-navbar);display:none;flex-direction:column;overflow:visible}@media (min-width:992px){.tui-theme_inspire-navigation{display:flex;width:var(--nav-collapsed-width)}}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__nav{position:fixed;display:flex;flex-direction:column;width:var(--nav-collapsed-width);height:100%;background-color:var(--nav-bg-color);border-right:1px inset var(--nav-border-colour)}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__heading{margin:auto;border-bottom:1px inset var(--nav-border-colour)}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__headingLogo{max-width:var(--nav-logomark-width);max-height:var(--nav-logomark-height);margin:calc(var(--gap-base) * 8) 0}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__collapse{float:right;width:var(--nav-button-size);height:var(--nav-button-size);margin-top:calc(var(--gap-base) * 4);margin-right:calc(var(--gap-base) * -3);color:var(--nav-tab-text-color)}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__collapse:focus-visible{outline:2px solid var(--nav-tab-text-color)}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__items{display:flex;flex-direction:column;gap:calc(var(--gap-base) * 1);height:100%;margin:0;padding:calc(var(--gap-base) * 5) calc(var(--gap-base) * 5) calc(var(--gap-base) * 5) 0;overflow-y:auto;list-style:none}.tui-theme_inspire-navigation--overlaid{position:fixed;z-index:var(--zindex-nav-overlay);display:flex;width:var(--nav-width)}@media (min-width:992px){.tui-theme_inspire-navigation--overlaid{position:relative;width:var(--nav-collapsed-width)}}.tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__nav{width:var(--nav-width)}.tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__heading{margin:0 calc(var(--gap-base) * 6)}.tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__headingLogo{max-width:var(--nav-logo-width);max-height:var(--nav-logo-height)}.tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__items{padding:calc(var(--gap-base) * 5) calc(var(--gap-base) * 3) calc(var(--gap-base) * 5) 0}.tui-theme_inspire-navigation--desktopExpanded{display:none}@media (min-width:992px){.tui-theme_inspire-navigation--desktopExpanded{display:flex;width:var(--nav-width)}.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__nav{width:var(--nav-width)}.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__heading{margin:0 calc(var(--gap-base) * 6)}.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__headingLogo{max-width:var(--nav-logo-width);max-height:var(--nav-logo-height)}.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__items{padding:calc(var(--gap-base) * 5) calc(var(--gap-base) * 3) calc(var(--gap-base) * 5) 0}}.tui-theme_inspire-navigation--hidden{display:none}.tui-settingsFormBrand__testEmailInfoButton{align-self:center}.tui-themeSettings__content{margin-top:var(--gap-8)}.tui-themeSettings__forms>*+*{margin-top:var(--gap-8)}:root{--nav-bg-color: #F0EAE4;--nav-text-color: #464646;--nav-selected-color: #C3002D;--color-primary: #464646;--btn-accent-color: #C3002D;--link-color: #C3002D;--color-state: #C3002D;--color-text: #262626;--footer-bg-color: #F0EAE4;--footer-text-color: #262626;--btn-accent-color-hover: #b90023;--btn-accent-color-active: #a80012;--link-color-hover: #b90023;--color-state-hover: #b90023;--color-state-focus: #b90023;--color-state-active: #a80012;--footer-text-color-hover: #1c1c1c;}
/*
 * Rossmann / Totara 20 - UI kit custom CSS v2.0
 * Intended for: Inspire theme -> Custom CSS field
 *
 * Basis:
 * - Rossmann Figma UI kit
 * - Totara 20 theme_inspire + legacy/base CSS variable structure
 * - Rossmann dashboard, course and profile DOM samples
 * - Existing Rossmann custom CSS rules (cleaned and merged)
 *
 * Design principle: keep Totara's native DOM/behaviour, skin it with the
 * Rossmann visual language. Fixed Figma frame widths are intentionally NOT
 * copied to content components unless they represent a meaningful max size.
 */

/* ========================================================================== */
/* 01. FONT + DESIGN TOKENS                                                   */
/* ========================================================================== */

@font-face {
    font-family: 'ROSSMANN Sans';
    src: url('/local/ROSSMANNSans-Book.woff') format('woff');
    font-style: normal;
    font-weight: normal;
    font-display: swap;
}

/* Alias retained for any older Rossmann CSS already referring to "Rossmann". */
@font-face {
    font-family: Rossmann;
    src: url('/local/ROSSMANNSans-Book.woff') format('woff');
    font-style: normal;
    font-weight: normal;
    font-display: swap;
}

:root,
.tui-root {
    /* Rossmann UI kit palette. */
    --rossmann-crimson: #D20A2D;
    --rossmann-crimson-dark: #A9132F;
    --rossmann-black: #231F20;
    --rossmann-davys-grey: #464D54;
    --rossmann-granite-grey: #666D76;
    --rossmann-spanish-grey: #8797A4;
    --rossmann-spanish-grey-text: #8C98A3;
    --rossmann-platinum: #D5DEE4;
    --rossmann-divider: #E3E0DD;
    --rossmann-snow: #EFF5FA;
    --rossmann-isabelline: #E7EEF3;
    --rossmann-page-bg: #F9F8F5;
    --rossmann-soft-red: #F9F1F0;
    --rossmann-error-bg: #FCEDEC;
    --rossmann-success-bg: #F0FAF2;
    --rossmann-info-bg: #EFF8FF;
    --rossmann-warning-bg: #FEFBEF;
    --rossmann-white: #FFFFFF;
    --rossmann-success: #0EAF2A;
    --rossmann-warning: #E3C216;
    --rossmann-error: #DE4238;
    --rossmann-info: #204496;
    --rossmann-progress: #ADCE19;

    --rossmann-shadow-card: 0 4px 3px rgba(0, 0, 0, 0.03), 0 4px 12px rgba(0, 0, 0, 0.05);
    --rossmann-shadow-focus: 0 0 20px rgba(213, 222, 228, 0.5);
    --rossmann-radius-card: 24px;
    --rossmann-radius-panel: 20px;
    --rossmann-radius-control: 12px;
    --rossmann-radius-input: 4px;
    --rossmann-font: 'ROSSMANN Sans', Rossmann, Arial, Helvetica, sans-serif;

    /* Native Totara theme variables. Inspire inherits legacy/base, so these
       values reskin a large part of native + TUI UI without DOM changes. */
    --font-family: var(--rossmann-font);
    --font-family-body: var(--rossmann-font);
    --font-family-heading: var(--rossmann-font);
    --font-family-display: var(--rossmann-font);

    --color-primary: var(--rossmann-crimson);
    --color-secondary: var(--rossmann-progress);
    --color-tertiary: var(--rossmann-info);

    --color-state: var(--rossmann-crimson);
    --color-state-hover: var(--rossmann-crimson-dark);
    --color-state-focus: var(--rossmann-crimson-dark);
    --color-state-active: var(--rossmann-crimson-dark);
    --color-state-highlight-neutral: var(--rossmann-soft-red);
    --color-state-disabled: var(--rossmann-spanish-grey);

    --color-neutral-1: #FFFFFF;
    --color-neutral-2: #F9F8F5;
    --color-neutral-3: #F9F1F0;
    --color-neutral-4: #E3E0DD;
    --color-neutral-5: #D5DEE4;
    --color-neutral-6: #666D76;
    --color-neutral-7: #231F20;

    --color-background: #FFFFFF;
    --color-border: var(--rossmann-divider);
    --color-text: var(--rossmann-black);
    --color-text-hint: var(--rossmann-granite-grey);

    --link-color: var(--rossmann-crimson);
    --link-color-hover: var(--rossmann-crimson-dark);

    --color-prompt-info: var(--rossmann-info);
    --color-prompt-info-bg: var(--rossmann-info-bg);
    --color-prompt-alert: var(--rossmann-error);
    --color-prompt-alert-bg: var(--rossmann-error-bg);
    --color-prompt-warning: var(--rossmann-warning);
    --color-prompt-warning-bg: var(--rossmann-warning-bg);
    --color-prompt-success: var(--rossmann-success);
    --color-prompt-success-bg: var(--rossmann-success-bg);

    --border-radius-normal: 12px;
    --card-border-radius: 24px;
    --dropdown-border-radius: 12px;
    --form-input-border-radius: 4px;
    --form-input-border-color: var(--rossmann-spanish-grey);
    --form-input-border-color-disabled: var(--rossmann-platinum);
    --form-input-bg-color-disabled: var(--rossmann-platinum);
    --form-input-text-placeholder-color: var(--rossmann-granite-grey);
    --form-error-text-color: var(--rossmann-error);
    --form-error-bg-color: var(--rossmann-error-bg);

    --btn-radius: 12px;
    --btn-lg-radius: 12px;
    --btn-sm-radius: 10px;
    --btn-xs-radius: 8px;
    --btn-font-size: 1rem;
    --btn-border-width: 1px;
    --btn-padding-h: 16px;
    --btn-padding-v: 8px;
    --btn-shadow: none;
    --btn-shadow-hover: none;
    --btn-shadow-active: none;
    --btn-shadow-focus: var(--rossmann-shadow-focus);

    --btn-accent-color: var(--rossmann-crimson);
    --btn-accent-color-hover: var(--rossmann-crimson-dark);
    --btn-accent-color-focus: var(--rossmann-crimson-dark);
    --btn-accent-color-active: var(--rossmann-crimson-dark);
    --btn-bg-color: #FFFFFF;
    --btn-bg-color-hover: var(--rossmann-soft-red);
    --btn-bg-color-focus: var(--rossmann-soft-red);
    --btn-bg-color-active: var(--rossmann-soft-red);
    --btn-border-color: var(--rossmann-crimson);
    --btn-border-color-hover: var(--rossmann-crimson-dark);
    --btn-text-color: var(--rossmann-crimson);
    --btn-text-color-hover: var(--rossmann-crimson-dark);

    --btn-prim-accent-color: var(--rossmann-crimson);
    --btn-prim-accent-color-hover: var(--rossmann-crimson-dark);
    --btn-prim-accent-color-focus: var(--rossmann-crimson-dark);
    --btn-prim-accent-color-active: var(--rossmann-crimson-dark);
    --btn-prim-bg-color: var(--rossmann-crimson);
    --btn-prim-bg-color-hover: var(--rossmann-crimson-dark);
    --btn-prim-bg-color-focus: var(--rossmann-crimson-dark);
    --btn-prim-bg-color-active: var(--rossmann-crimson-dark);
    --btn-prim-border-color: var(--rossmann-crimson);
    --btn-prim-border-color-hover: var(--rossmann-crimson-dark);
    --btn-prim-text-color: #FFFFFF;
    --btn-prim-text-color-hover: #FFFFFF;

    --dropdown-menu-bg-color: #FFFFFF;
    --dropdown-menu-border-color: var(--rossmann-divider);
    --dropdown-item-bg-color-hover: var(--rossmann-soft-red);
    --dropdown-item-bg-color-focus: var(--rossmann-soft-red);
    --dropdown-item-text-color: var(--rossmann-black);
    --dropdown-item-text-color-hover: var(--rossmann-black);

    --tabs-border-color: var(--rossmann-divider);
    --tabs-active-font-color: var(--rossmann-black);

    --nav-bg-color: #FFFFFF;
    --nav-text-color: var(--rossmann-black);
    --nav-side-text-color: var(--rossmann-black);
    --nav-side-seperator-color: var(--rossmann-divider);
    --nav-tab-text-color: var(--rossmann-black);
    --nav-tab-text-color-selected: var(--rossmann-crimson);
    --nav-tab-border-inner-color-selected: var(--rossmann-crimson);
    --nav-quick-border-color: var(--rossmann-divider);
    --nav-quick-seperator-color: var(--rossmann-divider);
    --nav-quick-item-text-color: var(--rossmann-crimson);

    /* Figma desktop layout: 300px side rail, 24px main content padding. */
    --nav-width: 300px;
    --page-content-padding-desktop: 24px;
    --page-content-padding: 16px;
}

/* ========================================================================== */
/* 02. GLOBAL PAGE + TYPOGRAPHY                                               */
/* ========================================================================== */

html,
body,
body.theme_inspire,
#page,
.page-body,
#page-content {
    font-family: var(--rossmann-font) !important;
    color: var(--rossmann-black);
    background-color: var(--rossmann-page-bg) !important;
}

body {
    font-size: 14px;
    line-height: 20px;
}

body.theme_inspire .page-body {
    min-width: 0;
}

body.theme_inspire #page {
    width: 100%;
    max-width: none;
    padding-bottom: 48px;
}

body.theme_inspire #page-content {
    width: 100%;
    min-width: 0;
}

body.theme_inspire .container-fluid {
    width: 100%;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.page-heading,
.page-heading h1 {
    font-family: var(--rossmann-font) !important;
    color: var(--rossmann-black);
    font-weight: 700;
}

h1,
.h1,
.page-heading h1 {
    margin: 0 0 24px;
    font-size: 32px;
    line-height: 40px;
}

h2,
.h2 {
    font-size: 25px;
    line-height: 32px;
}

h3,
.h3 {
    font-size: 20px;
    line-height: 32px;
}

h4,
.h4 {
    font-size: 16px;
    line-height: 24px;
}

h5,
.h5 {
    font-size: 14px;
    line-height: 20px;
}

small,
.small,
.text-muted,
.dimmed,
.muted {
    color: var(--rossmann-spanish-grey-text) !important;
}

a {
    color: var(--rossmann-crimson);
    text-decoration-color: currentColor;
}

a:hover,
a:focus {
    color: var(--rossmann-crimson-dark);
}

hr {
    border-color: var(--rossmann-divider);
}

/* Keyboard focus remains visible and follows the UI kit's soft focus glow. */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
    outline: 2px solid rgba(210, 10, 45, 0.28);
    outline-offset: 2px;
}

/* ========================================================================== */
/* 03. BUTTONS                                                                */
/* ========================================================================== */

.btn,
.tui-btn,
input[type='submit'],
input[type='button'],
button.singlebutton,
.singlebutton .btn {
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 12px;
    font-family: var(--rossmann-font) !important;
    font-size: 16px;
    line-height: 20px;
    font-weight: 700;
    box-shadow: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.btn-default,
.btn-secondary,
.tui-btn--variant-standard {
    color: var(--rossmann-crimson);
    background: #FFFFFF;
    border-color: var(--rossmann-crimson);
}

.btn-default:hover,
.btn-default:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.tui-btn--variant-standard:hover,
.tui-btn--variant-standard:focus {
    color: var(--rossmann-crimson-dark);
    background: var(--rossmann-soft-red);
    border-color: var(--rossmann-crimson-dark);
}

.btn-primary,
.tui-btn--variant-primary,
input[type='submit'].btn-primary {
    color: #FFFFFF !important;
    background: var(--rossmann-crimson) !important;
    border-color: var(--rossmann-crimson) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.tui-btn--variant-primary:hover,
.tui-btn--variant-primary:focus {
    color: #FFFFFF !important;
    background: var(--rossmann-crimson-dark) !important;
    border-color: var(--rossmann-crimson-dark) !important;
}

.btn-link,
.tui-btn--variant-stealth {
    min-height: auto;
    color: var(--rossmann-crimson);
    background: transparent;
    border-color: transparent;
    border-radius: 8px;
}

.btn-link:hover,
.btn-link:focus,
.tui-btn--variant-stealth:hover,
.tui-btn--variant-stealth:focus {
    color: var(--rossmann-crimson-dark);
    background: var(--rossmann-soft-red);
    text-decoration: none;
}

.btn[disabled],
.btn.disabled,
.tui-btn[disabled],
button[disabled],
input[type='submit'][disabled] {
    color: var(--rossmann-granite-grey) !important;
    background: var(--rossmann-platinum) !important;
    border-color: var(--rossmann-platinum) !important;
    opacity: 1;
}

.btn-danger,
.btn.alert-danger {
    color: #FFFFFF !important;
    background: var(--rossmann-error) !important;
    border-color: var(--rossmann-error) !important;
}

/* ========================================================================== */
/* 04. FORMS                                                                  */
/* ========================================================================== */

label,
.form-label,
.fitemtitle,
.tui-formLabel {
    color: var(--rossmann-granite-grey);
    font-family: var(--rossmann-font) !important;
    font-size: 13px;
    line-height: 16px;
    font-weight: 700;
}

.form-control,
input[type='text'],
input[type='email'],
input[type='password'],
input[type='search'],
input[type='number'],
input[type='date'],
input[type='datetime-local'],
input[type='url'],
input[type='tel'],
select,
textarea {
    color: var(--rossmann-davys-grey);
    background: #FFFFFF;
    border: 1px solid var(--rossmann-spanish-grey);
    border-radius: 4px;
    font-family: var(--rossmann-font) !important;
    font-size: 16px;
    line-height: 24px;
    box-shadow: none;
}

.form-control:not(textarea),
input[type='text'],
input[type='email'],
input[type='password'],
input[type='search'],
input[type='number'],
input[type='date'],
input[type='datetime-local'],
input[type='url'],
input[type='tel'],
select {
    min-height: 40px;
    padding: 7px 12px;
}

textarea.form-control,
textarea {
    min-height: 80px;
    padding: 8px 12px;
}

.form-control:focus,
input[type='text']:focus,
input[type='email']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='number']:focus,
input[type='date']:focus,
input[type='datetime-local']:focus,
input[type='url']:focus,
input[type='tel']:focus,
select:focus,
textarea:focus {
    color: var(--rossmann-davys-grey);
    background: #FFFFFF;
    border-color: var(--rossmann-spanish-grey);
    box-shadow: var(--rossmann-shadow-focus);
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--rossmann-granite-grey);
    opacity: 1;
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control,
input[disabled],
select[disabled],
textarea[disabled] {
    color: var(--rossmann-spanish-grey-text);
    background: var(--rossmann-platinum);
    border-color: var(--rossmann-platinum);
}

.has-error .form-control,
.form-control.is-invalid,
input.is-invalid,
textarea.is-invalid,
select.is-invalid {
    color: var(--rossmann-error);
    border-color: var(--rossmann-error);
}

.has-error label,
.has-error .help-block,
.invalid-feedback,
.form-error {
    color: var(--rossmann-error) !important;
}

.input-group-addon,
.input-group-btn .btn {
    border-color: var(--rossmann-spanish-grey);
}

/* Native checkbox/radio receives the UI kit's green selected state. */
input[type='checkbox'],
input[type='radio'] {
    accent-color: var(--rossmann-success);
}

.checkbox input[type='checkbox'],
.radio input[type='radio'],
.form-check-input,
.userprofile input[type='checkbox'] {
    width: 20px;
    height: 20px;
}

/* ========================================================================== */
/* 05. CARDS, BLOCKS, PANELS                                                  */
/* ========================================================================== */

.card,
.panel,
.well,
.modal-content,
.popover,
.dropdown-menu {
    border-color: var(--rossmann-divider);
}

.card,
.panel,
.well {
    border-radius: var(--rossmann-radius-card);
}

.card,
.panel-default,
.well,
.block:not(.chromeless) {
    background: #FFFFFF;
}

.block:not(.chromeless) {
    border: 0 !important;
    border-radius: var(--rossmann-radius-card);
    box-shadow: var(--rossmann-shadow-card);
    overflow: hidden;
}

.block:not(.chromeless) > .content,
.block:not(.chromeless) > .block-content,
.block:not(.chromeless) .block-content {
    background: #FFFFFF;
}

.block.chromeless,
.block.no-header.chromeless,
.block.chromeless > .content,
.block.chromeless .block-content {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.block .header,
.block .block-header,
.panel-heading,
.card-header {
    color: var(--rossmann-black);
    background: #FFFFFF;
    border-color: var(--rossmann-divider);
}

.block .header h2,
.block .block-header h2,
.panel-title,
.card-title {
    font-family: var(--rossmann-font) !important;
    font-weight: 700;
}

/* The Figma cards use the same subtle two-layer shadow. */
.tw-profileCard,
.tui-card,
.tui-performUserActivitiesPriorityCard,
.tui-performUserActivitiesListItem {
    background: #FFFFFF;
    border-radius: var(--rossmann-radius-card);
    box-shadow: var(--rossmann-shadow-card);
}

/* ========================================================================== */
/* 06. INSPIRE LEFT NAVIGATION                                                */
/* ========================================================================== */

/*
 * v2 navigation pass:
 * - Keep the Figma 300 / 252 px desktop geometry.
 * - Force every top-level menu row to the intended 56 px height. Inspire/TUI
 *   wrappers can otherwise add vertical space around the clickable heading.
 * - Use the native Inspire active marker only. The previous custom ::before
 *   marker duplicated the native crimson indicator on the current item.
 * - The selected row remains white; only icon/text (and the native marker)
 *   carry the active crimson colour.
 * - Centre the logo card and the menu card on the same 252 px axis.
 */

@media (min-width: 992px) {
    .theme_inspire__navPlaceholder--state-expanded {
        width: 300px !important;
    }

    .tui-theme_inspire-navigation--desktopExpanded {
        box-sizing: border-box;
        width: 300px !important;
        padding: 16px 24px !important;
        background: var(--rossmann-page-bg) !important;
    }

    .tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__nav {
        box-sizing: border-box;
        width: 252px !important;
        max-width: 252px !important;
        margin: 0 auto !important;
    }
}

.tui-theme_inspire-navigation {
    color: var(--rossmann-black);
    background: var(--rossmann-page-bg) !important;
}

.tui-theme_inspire-navigation__nav {
    box-sizing: border-box;
    background: transparent !important;
}

/* Logo card: same width/alignment as the menu card, with the logo truly
   centred in both directions. */
.tui-theme_inspire-navigation__heading {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 84px !important;
    margin: 0 auto 20px !important;
    padding: 16px !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}

.tui-theme_inspire-navigation__heading > a {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    outline: 0 !important;
}

.tui-theme_inspire-navigation__headingLogo {
    display: block !important;
    width: auto !important;
    max-width: 350px !important;
    height: auto !important;
    max-height: 70px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Menu card. Explicit flex layout removes the unexpectedly large vertical
   spacing that TUI wrapper styles can introduce around top-level rows. */
.tui-theme_inspire-navigation__items {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 16px 0 24px !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

.tui-theme_inspire-navigation__items > li {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.tui-theme_inspire-navigation__items > li > .tui-theme_inspire-navItem,
.tui-theme_inspire-navItem--navExpanded {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.tui-theme_inspire-navItem__heading {
    position: relative;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 12px 20px 12px 29px !important;
    gap: 16px !important;
    color: var(--rossmann-black) !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-family: var(--rossmann-font) !important;
    font-size: 14px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Hover can tint the text/icon, but it should not create a pink slab/glow. */
.tui-theme_inspire-navItem__heading:hover,
.tui-theme_inspire-navItem__heading:focus,
.tui-theme_inspire-navItem__heading:focus-visible {
    color: var(--rossmann-crimson) !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    outline: 0 !important;
}

/* Current/selected item. Support the common TUI state variants while
   deliberately NOT drawing another left marker: Inspire already does that. */
.tui-theme_inspire-navItem__heading--selected,
.tui-theme_inspire-navItem--selected .tui-theme_inspire-navItem__heading,
.tui-theme_inspire-navItem__heading[aria-current='page'],
.tui-theme_inspire-navItem__heading[aria-current='true'] {
    color: var(--rossmann-crimson) !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    outline: 0 !important;
}

/* v1 added a custom active ::before marker. Disable it so only Inspire's
   native active indicator remains. */
.tui-theme_inspire-navItem__heading--selected::before,
.tui-theme_inspire-navItem--selected .tui-theme_inspire-navItem__heading::before,
.tui-theme_inspire-navItem__heading[aria-current='page']::before,
.tui-theme_inspire-navItem__heading[aria-current='true']::before {
    content: none !important;
    display: none !important;
}

.tui-theme_inspire-navItem__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    color: currentColor !important;
}

.tui-theme_inspire-navItem__icon svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
}

.tui-theme_inspire-navItem__headingText {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: currentColor !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.tui-theme_inspire-navItem__headingAction {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

.tui-theme_inspire-navigation__toggle {
    color: var(--rossmann-crimson) !important;
    background: #FFFFFF !important;
    border: 1px solid var(--rossmann-divider) !important;
    border-radius: 8px !important;
    padding: 20px 20px;
}

/* ========================================================================== */
/* 07. TOP TOOLBAR, USER MENU, POPOVERS                                       */
/* ========================================================================== */

.userToolbar {
    margin: 0 !important;
    background: var(--rossmann-page-bg) !important;
}

.userToolbar_prim {
    box-sizing: border-box;
    min-height: 68px;
    padding: 16px 0 !important;
    background: var(--rossmann-page-bg) !important;
}

.userToolbar_prim > .container-fluid {
    min-height: 36px;
}

.userToolbar_prim--side {
    gap: 6px;
}

.userToolbar_prim--side .popover-region .nav-link,
.userToolbar_prim--side .totara_core__QuickAccess_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 8px !important;
    color: var(--rossmann-black) !important;
    border-radius: 12px;
}

.userToolbar_prim--side .popover-region .nav-link:hover,
.userToolbar_prim--side .totara_core__QuickAccess_icon:hover {
    color: var(--rossmann-crimson) !important;
    background: var(--rossmann-soft-red);
}

.userToolbar_prim--side .usermenu {
    margin-left: 8px;
}

.userToolbar_prim--side .usermenu .toggle-display {
    color: var(--rossmann-black) !important;
    border-radius: 12px;
}

.userToolbar_prim--side .usermenu .toggle-display:hover {
    background: var(--rossmann-soft-red);
}

.userToolbar_prim--side .usermenu .usertext {
    color: var(--rossmann-black) !important;
    font-size: 14px;
    font-weight: 400;
}

.userToolbar_prim--side .usermenu .userpicture {
    width: 40px !important;
    height: 40px !important;
    border: 1px solid var(--rossmann-spanish-grey);
    border-radius: 50%;
}

.popover-region-container,
.totara_core__QuickAccess_menu,
.moodle-actionmenu .menu,
.dropdown-menu {
    background: #FFFFFF !important;
    border: 1px solid var(--rossmann-divider) !important;
    border-radius: 12px !important;
    box-shadow: var(--rossmann-shadow-card) !important;
}

.dropdown-menu > li > a,
.moodle-actionmenu .menu li a.menu-action {
    color: var(--rossmann-black) !important;
    padding: 10px 16px;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.moodle-actionmenu .menu li a.menu-action:hover,
.moodle-actionmenu .menu li a.menu-action:focus {
    color: var(--rossmann-black) !important;
    background: var(--rossmann-soft-red) !important;
}

/* ========================================================================== */
/* 08. BREADCRUMBS + PAGE HEADER                                              */
/* ========================================================================== */

.breadcrumb-container {
    background: transparent !important;
}

.breadcrumb-nav,
.breadcrumb {
    background: transparent !important;
}

.breadcrumb {
    padding: 8px 0;
    margin-bottom: 16px;
    color: var(--rossmann-granite-grey);
    font-size: 13px;
}

.breadcrumb > li + li::before {
    color: var(--rossmann-spanish-grey-text);
}

.page-header,
.course-header {
    background: transparent;
    border: 0;
}

.page-navbar {
    min-height: 0;
}

/* Rossmann dashboard intentionally has no breadcrumb trail. */
#page-totara-dashboard-1 .breadcrumb-nav {
    display: none !important;
}

/* ========================================================================== */
/* 09. TABS                                                                   */
/* ========================================================================== */

.nav-tabs,
.tui-tabs__tabs {
    border-bottom: 1px solid var(--rossmann-divider) !important;
}

.nav-tabs > li > a,
.tui-tab,
.tui-tabs__tab {
    min-height: 40px;
    padding: 8px 16px !important;
    color: var(--rossmann-granite-grey) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 12px 12px 0 0 !important;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none !important;
}

.nav-tabs > li > a:hover,
.tui-tab:hover,
.tui-tabs__tab:hover {
    color: var(--rossmann-crimson) !important;
    background: var(--rossmann-soft-red) !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus,
.tui-tab--active,
.tui-tab[aria-selected='true'],
.tui-tabs__tab--active,
.tui-tabs__tab[aria-selected='true'] {
    color: var(--rossmann-black) !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-bottom: 3px solid var(--rossmann-davys-grey) !important;
    box-shadow: var(--rossmann-shadow-card);
    font-weight: 700;
}

/* ========================================================================== */
/* 10. TABLES + REPORT BUILDER                                                */
/* ========================================================================== */

.table,
table.generaltable,
.generaltable,
.flexible,
.reportbuilder-table {
    width: 100%;
    color: var(--rossmann-black);
    background: #FFFFFF;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--rossmann-divider);
    border-radius: 12px;
    overflow: hidden;
}

.table > thead > tr > th,
.generaltable > thead > tr > th,
.flexible > thead > tr > th {
    padding: 12px 16px;
    color: var(--rossmann-black);
    background: var(--rossmann-soft-red);
    border-color: var(--rossmann-divider);
    font-size: 13px;
    line-height: 20px;
    font-weight: 700;
}

.table > tbody > tr > td,
.generaltable > tbody > tr > td,
.flexible > tbody > tr > td {
    padding: 12px 16px;
    color: var(--rossmann-davys-grey);
    background: #FFFFFF;
    border-color: var(--rossmann-divider);
    vertical-align: middle;
}

.table-hover > tbody > tr:hover > td,
.generaltable > tbody > tr:hover > td,
.flexible > tbody > tr:hover > td {
    background: var(--rossmann-page-bg);
}

/* ========================================================================== */
/* 11. PAGINATION                                                             */
/* ========================================================================== */

.pagination > li > a,
.pagination > li > span {
    min-width: 36px;
    min-height: 36px;
    padding: 8px 12px;
    color: var(--rossmann-crimson);
    background: #FFFFFF;
    border-color: var(--rossmann-divider);
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
    border-radius: 12px 0 0 12px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
    border-radius: 0 12px 12px 0;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
    color: #FFFFFF;
    background: var(--rossmann-crimson);
    border-color: var(--rossmann-crimson);
}

/* ========================================================================== */
/* 12. ALERTS + SYSTEM MESSAGES                                               */
/* ========================================================================== */

.alert,
.tui-notificationBanner,
.tui-alert {
    border-radius: 12px;
    border-width: 1px;
    box-shadow: none;
}

.alert-danger,
.alert-error {
    color: var(--rossmann-error);
    background: var(--rossmann-error-bg);
    border-color: var(--rossmann-error);
}

.alert-success {
    color: var(--rossmann-success);
    background: var(--rossmann-success-bg);
    border-color: var(--rossmann-success);
}

.alert-warning {
    color: var(--rossmann-davys-grey);
    background: var(--rossmann-warning-bg);
    border-color: var(--rossmann-warning);
}

.alert-info {
    color: var(--rossmann-info);
    background: var(--rossmann-info-bg);
    border-color: #5EB6FF;
}

/* ========================================================================== */
/* 13. BADGES / LABELS                                                        */
/* ========================================================================== */

.label,
.badge,
.tui-tag,
.tui-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 21px;
    padding: 4px 8px;
    border-radius: 20px;
    font-family: var(--rossmann-font) !important;
    font-size: 10.5px;
    line-height: 13px;
    font-weight: 700;
    letter-spacing: .21px;
}

.label-danger,
.badge-danger,
.label-important {
    color: #FFFFFF;
    background: #E2001A;
}

.label-warning,
.badge-warning {
    color: var(--rossmann-black);
    background: var(--rossmann-warning);
}

.label-success,
.badge-success {
    color: #FFFFFF;
    background: var(--rossmann-success);
}

.label-info,
.badge-info {
    color: #FFFFFF;
    background: var(--rossmann-info);
}

/* ========================================================================== */
/* 14. PROGRESS                                                               */
/* ========================================================================== */

.progress,
.progressbar,
.tui-progressBar,
.tui-progressBar__track {
    height: 6px;
    background: #FBFAF8;
    border: 0;
    border-radius: 4px;
    box-shadow: none;
    overflow: hidden;
}

.progress-bar,
.tui-progressBar__bar,
.tui-progressBar__fill {
    background: var(--rossmann-progress) !important;
    border-radius: 4px;
    box-shadow: none;
}

/* ========================================================================== */
/* 15. DASHBOARD + BLOCK REGIONS                                              */
/* ========================================================================== */

.pagelayout-dashboard #page,
#page-totara-dashboard-1 #page {
    padding-top: 0;
}

.pagelayout-dashboard .page-heading,
#page-totara-dashboard-1 .page-heading {
    margin-top: 4px;
    margin-bottom: 24px;
}

.pagelayout-dashboard #block-region-top,
.pagelayout-dashboard #block-region-main,
.pagelayout-dashboard #block-region-bottom {
    min-width: 0;
}

.block-totara-dashboard,
.block-totara-dashboard .block-region-content,
.block-totara-dashboard .region-content,
.block-totara-dashboard .block-content {
    background-color: var(--rossmann-page-bg) !important;
    border: none !important;
    box-shadow: none !important;
}

/* Preserve full-width dashboard banners without affecting every image inside
   every dashboard block. */
.block-totara-dashboard .block_html img,
.block-totara-dashboard .hero img,
.block-totara-dashboard .hero-container img,
.block-totara-dashboard .hero-wrapper img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

.block-totara-dashboard .hero,
.block-totara-dashboard .block_html {
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    background-color: var(--rossmann-page-bg) !important;
}

.block-totara-featured-links-tile-large {
    background-color: var(--rossmann-page-bg) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* Custom Rossmann task blocks: retain plugin structure, unify visual tokens. */
.block-rossmann-employee-tasks,
.block-rossmann-manager-tasks {
    color: var(--rossmann-black);
}

.block-rossmann-employee-tasks__main-heading,
.block-rossmann-manager-tasks__main-heading {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.block-rossmann-employee-tasks__main-heading h2,
.block-rossmann-manager-tasks__main-heading h2 {
    margin: 0 !important;
    font-size: 25px !important;
    line-height: 29px !important;
    font-weight: 700 !important;
}

.block-rossmann-employee-tasks__heading-icon,
.block-rossmann-manager-tasks__heading-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    color: var(--rossmann-crimson);
    background: var(--rossmann-error-bg);
    border-radius: 16px;
}

.block-rossmann-employee-tasks__heading-icon svg,
.block-rossmann-manager-tasks__heading-icon svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
}

.block-rossmann-employee-tasks__learning-card,
.block-rossmann-employee-tasks__perform-card,
.block-rossmann-manager-tasks__manager-card,
.block-rossmann-manager-tasks__perform-card {
    background: #FFFFFF !important;
    box-shadow: var(--rossmann-shadow-card) !important;
    border-color: transparent !important;
}

.block-rossmann-employee-tasks__learning-card,
.block-rossmann-employee-tasks__perform-card,
.block-rossmann-manager-tasks__manager-card,
.block-rossmann-manager-tasks__perform-card {
    border-radius: 24px !important;
}

.block-rossmann-employee-tasks__progress {
    height: 6px !important;
    background: #FBFAF8 !important;
    border-radius: 4px !important;
    overflow: hidden;
}

.block-rossmann-employee-tasks__progress-value {
    display: block;
    height: 100%;
    background: var(--rossmann-progress) !important;
    border-radius: 4px;
}

.block-rossmann-employee-tasks__mandatory-label {
    color: #FFFFFF !important;
    background: #E2001A !important;
    border-radius: 20px !important;
}

.block-rossmann-employee-tasks__button,
.block-rossmann-manager-tasks__button {
    color: var(--rossmann-crimson) !important;
    background: #FFFFFF !important;
    border-color: var(--rossmann-crimson) !important;
    border-radius: 12px !important;
}

.block-rossmann-employee-tasks__button:hover,
.block-rossmann-manager-tasks__button:hover {
    color: var(--rossmann-crimson-dark) !important;
    background: var(--rossmann-soft-red) !important;
    border-color: var(--rossmann-crimson-dark) !important;
}

/* ========================================================================== */
/* 16. COURSE PAGES                                                           */
/* ========================================================================== */

.path-course #page-content,
.path-course-view #page-content {
    min-width: 0;
}

.path-course-view .course-header,
.path-course-view .page-header {
    margin-bottom: 16px;
}

.path-course-view .course-content ul.topics,
.path-course-view .course-content ul.weeks {
    margin: 0;
}

.path-course-view .course-content li.section.main {
    margin: 0 0 24px !important;
    padding: 0 !important;
    background: #FFFFFF;
    border: 0 !important;
    border-radius: 24px;
    box-shadow: var(--rossmann-shadow-card);
    overflow: hidden;
}

.path-course-view .tw-formatTopics__topicHeaderContainer,
.path-course-view .course-content .sectionname {
    background: #FFFFFF;
}

.path-course-view .tw-formatTopics__topicHeaderContainer {
    min-height: 56px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--rossmann-divider);
}

.path-course-view .tw-formatTopics__topic_header,
.path-course-view .sectionname {
    margin: 0;
    color: var(--rossmann-black);
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
}

.path-course-view .tw-formatTopics__topic_content,
.path-course-view .section .content {
    background: #FFFFFF;
}

.path-course-view .tw-formatTopics__topic_content {
    padding: 8px 24px 24px;
}

.path-course-view .section .activity {
    margin: 0;
    padding: 12px 0;
    border-bottom: 1px solid var(--rossmann-divider);
}

.path-course-view .section .activity:last-child {
    border-bottom: 0;
}

.path-course-view .activityinstance > a,
.path-course-view .activityinstance .instancename {
    color: var(--rossmann-black);
    font-weight: 700;
    text-decoration: none;
}

.path-course-view .activityinstance > a:hover .instancename,
.path-course-view .activityinstance > a:focus .instancename {
    color: var(--rossmann-crimson);
}

.path-course-view .activityicon {
    color: var(--rossmann-crimson);
}

.path-course-view .contentafterlink,
.path-course-view .contentwithoutlink,
.path-course-view .summary {
    color: var(--rossmann-davys-grey);
}

.path-course-view #block-region-side-pre .block,
.path-course-view #block-region-side-post .block {
    margin-bottom: 24px;
}

.path-course-view #block-region-side-pre .block .content,
.path-course-view #block-region-side-post .block .content {
    padding: 16px 24px 24px;
}

/* Old inline learning-content tables are softened to fit the kit without
   trying to override their semantic colours completely. */
.path-course-view .generated-content--user table {
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
}

/* ========================================================================== */
/* 17. USER PROFILE                                                           */
/* ========================================================================== */

#page-user-profile .tw-profileCard {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
    padding: 24px;
    background: #FFFFFF;
    border-radius: 24px;
    box-shadow: var(--rossmann-shadow-card);
}

#page-user-profile .tw-profileCard__avatar__img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 1px solid var(--rossmann-divider);
    border-radius: 50%;
}

#page-user-profile .tw-profileCard__description__header {
    margin: 0 0 8px;
    font-size: 25px;
    line-height: 32px;
}

#page-user-profile .block_totara_user_profile {
    margin-bottom: 24px;
}

#page-user-profile .block_totara_user_profile .content {
    padding: 0;
}

#page-user-profile .profile_tree .node_category > h3 {
    margin: 0;
    padding: 16px 24px;
    font-size: 16px;
    line-height: 24px;
    border-bottom: 1px solid var(--rossmann-divider);
}

#page-user-profile .profile_tree .userdetails {
    padding: 16px 24px 24px;
}

#page-user-profile .contentnode__wrapper {
    margin: 0;
}

#page-user-profile .contentnode {
    display: grid;
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--rossmann-divider);
}

#page-user-profile .contentnode:last-child {
    border-bottom: 0;
}

#page-user-profile .contentnode__header {
    color: var(--rossmann-granite-grey);
    font-weight: 700;
}

#page-user-profile .contentnode dd {
    margin: 0;
    color: var(--rossmann-black);
}

#page-user-profile .joblist {
    margin: 0;
    padding: 0;
}

#page-user-profile .joblist > li {
    padding: 12px 0;
    border-bottom: 1px solid var(--rossmann-divider);
}

/* ========================================================================== */
/* 18. PERFORM / TUI                                                          */
/* ========================================================================== */

/* Existing Rossmann functional hiding rules retained. */
.tui-linkedReviewParticipantForm__item-cardActions {
    display: none !important;
}

.tui-participantContent__sectionItem-content .tui-linkedReviewSelectedContent[content-type='totara_competency'] > div > button.tui-btn[aria-label='Adjon hozzá kompetenciákat'] {
    display: none !important;
}

.tui-competencyProfile__currentHeading-buttons,
.tui-linkedReviewViewCompetency__Missing,
.tui-linkedReviewViewCompetency__bar,
.tui-competencyProfile__filtersBar .tui-selectFilter,
.tui-competencyProfileCurrentProgress__progress,
.tui-competencyProfile__currentHeading,
.tui-competencyDetailAssignment__bar {
    display: none !important;
}

.tui-performUserActivitiesPriorityCard {
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: var(--rossmann-shadow-card) !important;
}

.tui-performUserActivitiesPriorityCard__subjectName {
    color: var(--rossmann-black) !important;
    font-size: 16px !important;
    line-height: 20px;
    font-weight: 700;
}

/* Perform content cards and section wrappers seen across TUI views. */
.tui-participantContent__section,
.tui-participantContent__sectionItem,
.tui-linkedReviewSelectedContent,
.tui-performActivitySection {
    border-color: var(--rossmann-divider) !important;
}

/* ========================================================================== */
/* 19. MODALS / DIALOGS                                                       */
/* ========================================================================== */

.modal-content,
.moodle-dialogue-base .moodle-dialogue-wrap,
.tui-modalContent {
    background: #FFFFFF;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .14) !important;
    overflow: hidden;
}

.modal-header,
.modal-footer,
.moodle-dialogue-hd {
    border-color: var(--rossmann-divider) !important;
}

.modal-header,
.moodle-dialogue-hd {
    color: var(--rossmann-black);
    background: #FFFFFF;
}

.modal-title,
.moodle-dialogue-hd h3 {
    font-weight: 700;
}

/* ========================================================================== */
/* 20. ACCORDION / COLLAPSIBLE CONTENT                                        */
/* ========================================================================== */

.panel-group .panel,
.accordion .panel,
.tui-collapsible {
    background: #FFFFFF;
    border: 0;
    border-bottom: 1px solid var(--rossmann-divider);
    border-radius: 0;
    box-shadow: none;
}

.panel-group .panel-heading,
.accordion .panel-heading {
    padding: 12px 0;
    background: #FFFFFF;
}

/* ========================================================================== */
/* 21. EXISTING ROSSMANN-SPECIFIC UTILITIES                                   */
/* ========================================================================== */

/* Notes block. */
.jegyzetek_blokk .comment-area,
.jegyzetek_blokk .comment-own-post {
    max-width: 1560px;
}

.jegyzetek_blokk textarea {
    height: 100px;
}

.jegyzetek_blokk .comment-message .text_to_html:first-line {
    font-size: 1.4em;
    font-weight: 700;
    text-transform: uppercase;
}

/* Custom range marker. Broken syntax from the previous CSS was removed. */
.tui-range {
    position: relative;
}

.tui-range::after {
    content: '';
    position: absolute;
    left: calc((97 / 120) * 100%);
    top: 21px;
    z-index: 10;
    width: 2px;
    height: 21px;
    background: var(--rossmann-spanish-grey);
    border-radius: 30px;
}

.tui-range::before {
    content: '100';
    position: absolute;
    left: calc((97 / 120) * 100%);
    top: 0;
    transform: translateX(-50%);
    color: var(--rossmann-granite-grey);
    font-family: var(--rossmann-font);
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
}

/* ========================================================================== */
/* 22. RESPONSIVE                                                             */
/* ========================================================================== */

@media (max-width: 1199px) {
    #block-totara-featured-links-tile-19,
    #block-totara-featured-links-tile-270 {
        background-size: cover !important;
        aspect-ratio: 2010 / 400 !important;
    }

    :root,
    .tui-root {
        --page-content-padding-desktop: 20px;
    }
}

@media (max-width: 991px) {
    :root,
    .tui-root {
        --page-content-padding: 16px;
        --page-content-padding-desktop: 16px;
    }

    .tui-theme_inspire-navigation__heading {
        margin-bottom: 8px;
    }

    .tui-theme_inspire-navigation__items {
        border-radius: 16px;
    }

    h1,
    .h1,
    .page-heading h1 {
        font-size: 28px;
        line-height: 36px;
    }

    #page-user-profile .contentnode {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

@media (max-width: 767px) {
    h1,
    .h1,
    .page-heading h1 {
        font-size: 25px;
        line-height: 32px;
    }

    h2,
    .h2 {
        font-size: 22px;
        line-height: 29px;
    }

    .block-rossmann-employee-tasks__main-heading h2,
    .block-rossmann-manager-tasks__main-heading h2 {
        font-size: 22px !important;
        line-height: 29px !important;
    }

    .block-rossmann-employee-tasks__heading-icon,
    .block-rossmann-manager-tasks__heading-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }

    #page-user-profile .tw-profileCard {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px;
    }

    .path-course-view .tw-formatTopics__topicHeaderContainer {
        padding: 14px 16px;
    }

    .path-course-view .tw-formatTopics__topic_content {
        padding: 8px 16px 20px;
    }

    .table-responsive {
        border: 0;
    }
}

/* ========================================================================== */
/* END                                                                        */
/* ========================================================================== */

/* ========================================================================== */
/* V3 PATCH — TUI SEARCH + FIGMA CONTEXTUAL SIDEBAR CARDS                    */
/* ========================================================================== */

/* -------------------------------------------------------------------------- */
/* TUI search filter: keep the magnifier in its own 16px lane.                */
/* The global input padding from this theme must not overwrite TUI pre-icon   */
/* spacing, otherwise the placeholder/text starts under the magnifier.        */
/* -------------------------------------------------------------------------- */

.tui-searchFilter__group {
    position: relative !important;
    box-sizing: border-box !important;
}

.tui-searchFilter__group-icon {
    position: absolute !important;
    z-index: 2 !important;
    inset-inline-start: 12px !important;
    top: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rossmann-davys-grey) !important;
    pointer-events: none !important;
    transform: translateY(-50%) !important;
}

.tui-searchFilter__group-icon > svg,
.tui-searchFilter__group-icon .tui-svgIcon {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}

.tui-searchFilter__search.tui-formInput--preIcon,
.tui-searchFilter input.tui-formInput--preIcon {
    box-sizing: border-box !important;
    padding-inline-start: 40px !important;
}

.tui-searchFilter__search.tui-formInput--postIcon,
.tui-searchFilter input.tui-formInput--postIcon {
    padding-inline-end: 40px !important;
}

.tui-searchFilter__search::placeholder {
    opacity: 1 !important;
}

/* -------------------------------------------------------------------------- */
/* GENERIC LEGACY SIDEBAR CARDS                                               */
/*                                                                            */
/* Totara's legacy page layouts consistently use #block-region-side-pre and   */
/* #block-region-side-post for contextual / utility sidebars. Styling the     */
/* regions instead of individual block types gives us the Figma card language */
/* on course, profile, report and other legacy views without affecting the    */
/* dashboard's normal content blocks, region-top, region-main or region-bottom.*/
/* -------------------------------------------------------------------------- */

#block-region-side-pre > .block,
#block-region-side-post > .block {
    box-sizing: border-box !important;
    margin: 0 0 24px !important;
    padding: 8px !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Standard legacy block header. */
#block-region-side-pre > .block > .header,
#block-region-side-pre > .block > .block-header,
#block-region-side-post > .block > .header,
#block-region-side-post > .block > .block-header {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rossmann-black) !important;
    background: #F9F1F0 !important;
    border: 1.2px solid var(--rossmann-crimson) !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: none !important;
}

#block-region-side-pre > .block > .header .title,
#block-region-side-pre > .block > .block-header .title,
#block-region-side-post > .block > .header .title,
#block-region-side-post > .block > .block-header .title {
    margin: 0 !important;
    padding: 0 !important;
}

#block-region-side-pre > .block > .header h2,
#block-region-side-pre > .block > .block-header h2,
#block-region-side-post > .block > .header h2,
#block-region-side-post > .block > .block-header h2 {
    margin: 0 !important;
    padding: 16px 20px !important;
    color: var(--rossmann-black) !important;
    font-family: var(--rossmann-font) !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
}

/* Content gets a complete card shape by default. This also works for blocks
   that deliberately have no visible header. */
#block-region-side-pre > .block > .content,
#block-region-side-pre > .block > .block-content,
#block-region-side-post > .block > .content,
#block-region-side-post > .block > .block-content {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 16px 20px 24px !important;
    color: var(--rossmann-black) !important;
    background: #F9F1F0 !important;
    border: 1.2px solid var(--rossmann-crimson) !important;
    border-radius: 20px !important;
    box-shadow: none !important;
}

/* If a real header precedes the content, visually join the two pieces. */
#block-region-side-pre > .block > .header + .content,
#block-region-side-pre > .block > .header + .block-content,
#block-region-side-pre > .block > .block-header + .content,
#block-region-side-pre > .block > .block-header + .block-content,
#block-region-side-post > .block > .header + .content,
#block-region-side-post > .block > .header + .block-content,
#block-region-side-post > .block > .block-header + .content,
#block-region-side-post > .block > .block-header + .block-content {
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
}

/* General sidebar links/icons inherit the Rossmann accent, while structural
   labels stay dark. */
#block-region-side-pre > .block .content a,
#block-region-side-pre > .block .block-content a,
#block-region-side-post > .block .content a,
#block-region-side-post > .block .block-content a,
#block-region-side-pre > .block .content a:visited,
#block-region-side-pre > .block .block-content a:visited,
#block-region-side-post > .block .content a:visited,
#block-region-side-post > .block .block-content a:visited {
    color: var(--rossmann-crimson) !important;
}

#block-region-side-pre > .block .content a:hover,
#block-region-side-pre > .block .block-content a:hover,
#block-region-side-post > .block .content a:hover,
#block-region-side-post > .block .block-content a:hover,
#block-region-side-pre > .block .content a:focus,
#block-region-side-pre > .block .block-content a:focus,
#block-region-side-post > .block .content a:focus,
#block-region-side-post > .block .block-content a:focus {
    color: var(--rossmann-crimson-dark, #A9132F) !important;
}

#block-region-side-pre > .block .flex-icon,
#block-region-side-post > .block .flex-icon {
    color: var(--rossmann-crimson) !important;
}

/* Legacy navigation/settings trees use compact Figma-like spacing. */
#block-region-side-pre > .block .block_tree,
#block-region-side-post > .block .block_tree {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

#block-region-side-pre > .block .block_tree li,
#block-region-side-post > .block .block_tree li {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

#block-region-side-pre > .block .tree_item,
#block-region-side-post > .block .tree_item {
    min-height: 24px !important;
    margin: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    color: var(--rossmann-black) !important;
    font-family: var(--rossmann-font) !important;
    font-size: 13px !important;
    line-height: 20px !important;
}

#block-region-side-pre > .block .tree_item a,
#block-region-side-post > .block .tree_item a {
    font-size: 13px !important;
    line-height: 20px !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

#block-region-side-pre > .block .tree_item.branch,
#block-region-side-post > .block .tree_item.branch,
#block-region-side-pre > .block .tree_item.root_node,
#block-region-side-post > .block .tree_item.root_node {
    color: var(--rossmann-black) !important;
    font-weight: 700 !important;
}

/* -------------------------------------------------------------------------- */
/* Headerless Totara user-profile utility blocks.                             */
/* Their visible heading lives inside .profile_tree rather than .block-header.*/
/* -------------------------------------------------------------------------- */

#block-region-side-pre > .block_totara_user_profile > .content,
#block-region-side-pre > .block_totara_user_profile > .block-content,
#block-region-side-post > .block_totara_user_profile > .content,
#block-region-side-post > .block_totara_user_profile > .block-content {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

#block-region-side-pre > .block_totara_user_profile .profile_tree,
#block-region-side-post > .block_totara_user_profile .profile_tree {
    margin: 0 !important;
    padding: 0 !important;
}

#block-region-side-pre > .block_totara_user_profile .profile_tree > .node_category,
#block-region-side-post > .block_totara_user_profile .profile_tree > .node_category {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #F9F1F0 !important;
    border: 1.2px solid var(--rossmann-crimson) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

#block-region-side-pre > .block_totara_user_profile .profile_tree > .node_category > h3,
#block-region-side-post > .block_totara_user_profile .profile_tree > .node_category > h3 {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 16px 20px !important;
    color: var(--rossmann-black) !important;
    background: #F9F1F0 !important;
    border: 0 !important;
    border-bottom: 1.2px solid var(--rossmann-crimson) !important;
    font-family: var(--rossmann-font) !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
}

#block-region-side-pre > .block_totara_user_profile .profile_tree > .node_category > .userdetails,
#block-region-side-post > .block_totara_user_profile .profile_tree > .node_category > .userdetails {
    margin: 0 !important;
    padding: 16px 20px 20px !important;
    background: #F9F1F0 !important;
}

#block-region-side-pre > .block_totara_user_profile .userdetails > div,
#block-region-side-post > .block_totara_user_profile .userdetails > div {
    margin: 0 !important;
    padding: 4px 0 !important;
    font-family: var(--rossmann-font) !important;
    font-size: 13px !important;
    line-height: 20px !important;
}

#block-region-side-pre > .block_totara_user_profile .userdetails a,
#block-region-side-post > .block_totara_user_profile .userdetails a {
    font-size: 13px !important;
    line-height: 20px !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

/* Keep sidebar cards usable when Bootstrap moves side columns below content. */
@media (max-width: 991px) {
    #block-region-side-pre > .block,
    #block-region-side-post > .block {
        max-width: 420px;
    }
}


/* ========================================================================== */
/* 25. LOGIN PAGE — FIGMA ALIGNMENT (CUMULATIVE V5 ADDITION)                  */
/* ========================================================================== */

/* =========================================================
   ROSSMANN / TOTARA 20 - LOGIN PAGE
   Figma-aligned full stylesheet
   Scope: #page-login-index only
   ========================================================= */

/* ---------------------------------------------------------
   Base / page
   --------------------------------------------------------- */

#page-login-index {
    margin: 0;
    background: #F9F8F5;
}

#page-login-index,
#page-login-index * {
    box-sizing: border-box;
}

#page-login-index .tui-root {
    min-height: 100vh;
}

#page-login-index .tui-core_auth-loginLayout {
    min-height: 100vh;
    background: #F9F8F5;
}

/* ---------------------------------------------------------
   Main two-column layout
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-loginLayout__panels {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 100vh;
    background: #F9F8F5;
}

#page-login-index .tui-core_auth-loginLayout__panel-interface {
    display: flex;
    flex: 0 0 50%;
    flex-direction: column;
    width: 50%;
    max-width: 50%;
    min-width: 0;
    min-height: 100vh;
    padding: 16px 24px;
    background: #F9F8F5;
}

#page-login-index .tui-core_auth-loginLayout__panel-graphic {
    flex: 0 0 calc(50% - 24px);
    width: calc(50% - 24px);
    max-width: calc(50% - 24px);
    min-width: 0;
    min-height: calc(100vh - 48px);
    margin: 24px 24px 24px 0;
    overflow: hidden;
    border-radius: 24px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* ---------------------------------------------------------
   Top navigation / logo / language
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-loginNav {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 100px;
    gap: 20px;
}

#page-login-index .tui-core_auth-loginNav__logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 252px;
    max-width: calc(100% - 48px);
    min-height: 84px;
    padding: 16px;
    overflow: hidden;
    border-radius: 16px;
    background: #FFFFFF;
    text-decoration: none;
}

#page-login-index .tui-core_auth-loginNav__image {
    display: block;
    width: 220px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

#page-login-index .tui-core_auth-loginNav__side {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
}

#page-login-index .tui-core_auth-loginNav__lang {
    display: flex;
    align-items: center;
    justify-content: center;
}

#page-login-index .tui-core_auth-languageSelect__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #231F20;
}

#page-login-index .tui-core_auth-languageSelect__button:hover,
#page-login-index .tui-core_auth-languageSelect__button:focus {
    background: #FFFFFF;
}

/* ---------------------------------------------------------
   Content centering
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-loginLayout__contentWrap {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 0;
    padding: 0;
}

#page-login-index .tui-core_auth-loginLayout__main {
    width: 348px;
    max-width: 100%;
    margin: 0;
}

/* ---------------------------------------------------------
   Main login card
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-login {
    width: 348px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: none;
}

#page-login-index .tui-core_auth-login__title {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 77px;
    margin: 0;
    padding: 24px;
    color: #231F20;
    font-family: "ROSSMANN Sans", Arial, sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 29px;
}

/* ---------------------------------------------------------
   Entra ID / authentication chooser
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-stackChooser {
    width: 100%;
    margin: 0;
    padding: 0 24px 24px;
}

#page-login-index .tui-core_auth-stackChooser__option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 40px;
    padding: 8px 20px;
    gap: 10px;
    border: 1px solid #8797A4;
    border-radius: 4px;
    background: #EFF5FA;
    color: #464D54;
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

#page-login-index .tui-core_auth-stackChooser__option:hover,
#page-login-index .tui-core_auth-stackChooser__option:focus {
    border-color: #D20A2D;
    background: #FFFFFF;
    color: #231F20;
    text-decoration: none;
}

#page-login-index .tui-core_auth-stackChooser__label {
    overflow: hidden;
    color: inherit;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -0.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#page-login-index .tui-core_auth-stackChooser__icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    color: #8797A4;
}

/* ---------------------------------------------------------
   Separator
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-login__separator {
    width: calc(100% - 48px);
    height: 1px;
    margin: 0 24px 24px;
    border: 0;
    background: #E3E0DD;
}

/* ---------------------------------------------------------
   Form content
   --------------------------------------------------------- */

#page-login-index .tui-form {
    width: 100%;
}

#page-login-index .tui-core_auth-loginForm__content {
    width: 100%;
    margin: 0;
    padding: 0 24px 24px;
}

#page-login-index .tui-formRow {
    width: 100%;
    margin: 0 0 16px;
}

#page-login-index .tui-formRow__desc {
    width: 100%;
    margin: 0 0 4px;
}

#page-login-index .tui-formRow__action,
#page-login-index .tui-formRow__action--isStacked,
#page-login-index .tui-formField {
    width: 100%;
}

#page-login-index .tui-formLabel {
    display: flex;
    align-items: flex-end;
    width: 100%;
    min-height: 16px;
    margin: 0;
    color: #666D76;
    font-family: "ROSSMANN Sans", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 16px;
    letter-spacing: -0.02em;
}

/* ---------------------------------------------------------
   Inputs
   --------------------------------------------------------- */

#page-login-index .tui-formInput,
#page-login-index input.tui-formInput {
    display: block;
    width: 100% !important;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 8px 20px;
    border: 1px solid #8797A4;
    border-radius: 4px;
    outline: none;
    background: #EFF5FA;
    color: #464D54;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -0.02em;
    box-shadow: none;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

#page-login-index .tui-formInput:hover,
#page-login-index input.tui-formInput:hover {
    border-color: #666D76;
}

#page-login-index .tui-formInput:focus,
#page-login-index input.tui-formInput:focus {
    border-color: #D20A2D;
    background: #FFFFFF;
    box-shadow: 0 0 0 1px #D20A2D;
}

#page-login-index .tui-formInput::placeholder,
#page-login-index input.tui-formInput::placeholder {
    color: #8797A4;
    opacity: 1;
}

#page-login-index input[type="password"].tui-formInput,
#page-login-index input[type="text"][name="password"].tui-formInput {
    padding-right: 48px;
}

/* Existing custom eye button - visual alignment only. */
#page-login-index .tui-formField[style*="position: relative"] > button[type="button"] {
    right: 10px !important;
    top: 20px !important;
    bottom: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0 !important;
    padding: 0;
    transform: translateY(-50%) !important;
    border: 0 !important;
    border-radius: 50%;
    background: transparent !important;
    color: #8797A4;
    cursor: pointer;
    line-height: 1;
}

#page-login-index .tui-formField[style*="position: relative"] > button[type="button"]:hover,
#page-login-index .tui-formField[style*="position: relative"] > button[type="button"]:focus {
    background: rgba(135, 151, 164, 0.10) !important;
    outline: none;
}

/* Password helper text created by the existing custom JS. */
#page-login-index .tui-formField > div[style*="font-size: 12px"] {
    width: 100%;
    margin-top: 4px !important;
    color: #666D76 !important;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 12px !important;
    font-weight: 400;
    line-height: 16px;
}

/* ---------------------------------------------------------
   Remember username + forgotten password
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-loginForm__options {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin: 8px 0 0;
    padding: 0;
    gap: 4px;
}

#page-login-index .tui-core_auth-loginForm__options > div,
#page-login-index .tui-core_auth-loginForm__options .tui-formField {
    width: 100%;
}

#page-login-index .tui-checkbox {
    display: flex;
    align-items: flex-start;
    width: 100%;
    gap: 12px;
}

#page-login-index .tui-checkbox__input {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    margin: 0;
    accent-color: #0EAF2A;
    cursor: pointer;
}

#page-login-index .tui-checkbox__label {
    display: block;
    padding-top: 2px;
    color: #464D54;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    cursor: pointer;
}

#page-login-index .tui-core_auth-loginForm__options > a {
    margin: 0 0 0 36px;
    color: #D20A2D;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    text-decoration: underline;
}

#page-login-index .tui-core_auth-loginForm__options > a:hover,
#page-login-index .tui-core_auth-loginForm__options > a:focus {
    color: #A9132F;
}

/* ---------------------------------------------------------
   Submit button
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-loginForm__submitWrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin: 20px 0 0;
}

#page-login-index .tui-core_auth-loginForm__submitWrap .tui-btn,
#page-login-index .tui-core_auth-loginForm__submitWrap button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 215px;
    min-height: 40px;
    margin: 0;
    padding: 8px 16px;
    border: 1px solid #D20A2D;
    border-radius: 12px;
    background: #D20A2D;
    color: #FFFFFF;
    font-family: "ROSSMANN Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

#page-login-index .tui-core_auth-loginForm__submitWrap .tui-btn:hover,
#page-login-index .tui-core_auth-loginForm__submitWrap .tui-btn:focus,
#page-login-index .tui-core_auth-loginForm__submitWrap button[type="submit"]:hover,
#page-login-index .tui-core_auth-loginForm__submitWrap button[type="submit"]:focus {
    border-color: #A9132F;
    background: #A9132F;
    color: #FFFFFF;
    outline: none;
}

#page-login-index .tui-core_auth-loginForm__submitWrap .tui-btn__wrap,
#page-login-index .tui-core_auth-loginForm__submitWrap .tui-btn__content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* ---------------------------------------------------------
   Cookie / help card
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-loginForm__help {
    width: 348px;
    max-width: 100%;
    margin: 24px 0 0;
    padding: 8px;
    border-radius: 24px;
    background: #FFFFFF;
}

#page-login-index .tui-core_auth-loginForm__help .tui-popover__wrap {
    width: 100%;
}

#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 56px;
    margin: 0;
    padding: 16px 20px;
    gap: 10px;
    border: 1.2px solid #E3C216;
    border-radius: 20px;
    background: #FEFBEF;
    color: #231F20;
    text-align: left;
    text-decoration: none;
    box-shadow: none;
}

#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton:hover,
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton:focus {
    border-color: #E3C216;
    background: #FEFBEF;
    color: #231F20;
    outline: none;
}

#page-login-index .tui-core_auth-loginForm__help .tui-btn__wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    gap: 10px;
}

#page-login-index .tui-core_auth-loginForm__help .tui-btn__iconBefore,
#page-login-index .tui-core_auth-loginForm__help .tui-svgIcon {
    flex: 0 0 auto;
    color: #E3C216;
}

#page-login-index .tui-core_auth-loginForm__help .tui-popoverPositioner {
    z-index: 1000;
}

#page-login-index .tui-core_auth-loginForm__help .tui-popoverFrame {
    max-width: min(600px, calc(100vw - 32px));
}

/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */

#page-login-index .tui-core_auth-footer {
    width: 100%;
    margin: 16px 0 0;
    padding: 0;
    color: #666D76;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 11px;
    line-height: 16px;
    opacity: 0.65;
}

#page-login-index .tui-core_auth-footer__poweredBy {
    text-align: center;
}

#page-login-index .tui-core_auth-footer a {
    color: inherit;
}

/* ---------------------------------------------------------
   Dropdown
   --------------------------------------------------------- */

#page-login-index .tui-dropdown__menu {
    overflow: hidden;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 6px 20px rgba(35, 31, 32, 0.12);
}

#page-login-index .tui-dropdownItem {
    color: #231F20;
}

#page-login-index .tui-dropdownItem--selected {
    color: #D20A2D;
}

/* ---------------------------------------------------------
   Error / validation states
   --------------------------------------------------------- */

#page-login-index .tui-formInput--state-invalid,
#page-login-index .tui-formInput[aria-invalid="true"] {
    border-color: #D20A2D;
    background: #FFFFFF;
}

#page-login-index .tui-formRow__error,
#page-login-index .tui-formField__error {
    margin-top: 4px;
    color: #D20A2D;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 12px;
    line-height: 16px;
}

/* ---------------------------------------------------------
   Large desktop tuning
   --------------------------------------------------------- */

@media (min-width: 1200px) {
    #page-login-index .tui-core_auth-loginLayout__panel-interface {
        min-height: 900px;
    }

    #page-login-index .tui-core_auth-loginLayout__panel-graphic {
        min-height: calc(100vh - 48px);
    }
}

/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 900px) {
    #page-login-index .tui-core_auth-loginLayout__panels {
        display: block;
        min-height: 100vh;
    }

    #page-login-index .tui-core_auth-loginLayout__panel-interface {
        width: 100%;
        max-width: 100%;
        min-height: 100vh;
        padding: 16px 24px 24px;
    }

    #page-login-index .tui-core_auth-loginLayout__panel-graphic {
        display: none;
    }

    #page-login-index .tui-core_auth-loginNav {
        min-height: 92px;
    }

    #page-login-index .tui-core_auth-loginLayout__contentWrap {
        padding: 24px 0 40px;
    }

    #page-login-index .tui-core_auth-footer {
        padding-bottom: 16px;
    }
}

/* ---------------------------------------------------------
   Small mobile
   --------------------------------------------------------- */

@media (max-width: 480px) {
    #page-login-index .tui-core_auth-loginLayout__panel-interface {
        padding: 12px 16px 20px;
    }

    #page-login-index .tui-core_auth-loginNav {
        min-height: 76px;
        gap: 12px;
    }

    #page-login-index .tui-core_auth-loginNav__logo {
        width: min(220px, calc(100% - 52px));
        min-height: 64px;
        padding: 12px 14px;
        border-radius: 14px;
    }

    #page-login-index .tui-core_auth-loginNav__image {
        width: 190px;
    }

    #page-login-index .tui-core_auth-loginLayout__contentWrap {
        padding: 20px 0 28px;
    }

    #page-login-index .tui-core_auth-loginLayout__main,
    #page-login-index .tui-core_auth-login {
        width: 100%;
    }

    #page-login-index .tui-core_auth-login {
        border-radius: 20px;
    }

    #page-login-index .tui-core_auth-login__title {
        min-height: 68px;
        padding: 20px;
        font-size: 22px;
        line-height: 28px;
    }

    #page-login-index .tui-core_auth-stackChooser {
        padding: 0 20px 20px;
    }

    #page-login-index .tui-core_auth-login__separator {
        width: calc(100% - 40px);
        margin: 0 20px 20px;
    }

    #page-login-index .tui-core_auth-loginForm__content {
        padding: 0 20px 20px;
    }

    #page-login-index .tui-formInput,
    #page-login-index input.tui-formInput {
        padding-left: 14px;
        padding-right: 14px;
    }

    #page-login-index input[type="password"].tui-formInput,
    #page-login-index input[type="text"][name="password"].tui-formInput {
        padding-right: 46px;
    }

    #page-login-index .tui-core_auth-loginForm__submitWrap .tui-btn,
    #page-login-index .tui-core_auth-loginForm__submitWrap button[type="submit"] {
        width: 100%;
        min-width: 0;
    }

    #page-login-index .tui-core_auth-loginForm__help {
        width: 100%;
        border-radius: 20px;
    }
}

/* ========================================================================== */
/* V6 PATCH — LOGIN CARD WIDTH + COOKIE MESSAGE                               */
/* ========================================================================== */

/* Slightly widen the actual authentication card on non-mobile screens. */
@media (min-width: 481px) {
    #page-login-index .tui-core_auth-loginLayout__main,
    #page-login-index .tui-core_auth-login {
        width: 392px !important;
        max-width: 100% !important;
    }

    #page-login-index .tui-core_auth-loginForm__help {
        width: 392px !important;
        max-width: 100% !important;
    }
}

/*
 * Totara renders the cookie/help label as a sibling of the info button inside
 * .tui-popover__wrap. The yellow Figma panel therefore belongs to the wrapper,
 * not to the button itself. This keeps both the icon and the visible message
 * inside the same warning surface while retaining the native help popover.
 */
#page-login-index .tui-core_auth-loginForm__help {
    padding: 8px !important;
    background: #FFFFFF !important;
    border-radius: 24px !important;
}

#page-login-index .tui-core_auth-loginForm__help .tui-popover__wrap {
    position: relative !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 16px 20px !important;
    gap: 10px !important;
    color: var(--rossmann-black, #231F20) !important;
    background: var(--rossmann-warning-bg, #FEFBEF) !important;
    border: 1.2px solid var(--rossmann-warning, #E3C216) !important;
    border-radius: 20px !important;
}

/* The native help button becomes only the 24px warning/info icon. */
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton,
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton:hover,
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton:focus {
    display: inline-flex !important;
    flex: 0 0 24px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rossmann-warning, #E3C216) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton .tui-btn__wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    gap: 0 !important;
}

#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton .tui-btn__iconBefore,
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton .tui-svgIcon {
    display: flex !important;
    flex: 0 0 24px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    color: var(--rossmann-warning, #E3C216) !important;
}

/* The visible native cookie sentence is the final direct child of the wrapper. */
#page-login-index .tui-core_auth-loginForm__help .tui-popover__wrap > div:last-child:not(.tui-popoverPositioner) {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rossmann-black, #231F20) !important;
    font-family: var(--rossmann-font, 'ROSSMANN Sans', Arial, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* Keep the native popover floating instead of participating in the flex row. */
#page-login-index .tui-core_auth-loginForm__help .tui-popoverPositioner {
    position: absolute !important;
    z-index: 1000 !important;
}

@media (max-width: 480px) {
    #page-login-index .tui-core_auth-loginForm__help {
        width: 100% !important;
        border-radius: 20px !important;
    }

    #page-login-index .tui-core_auth-loginForm__help .tui-popover__wrap {
        padding: 14px 16px !important;
    }
}

/* ========================================================================== */
/* V7 PATCH — LOGIN COOKIE WARNING: ICON + TEXT IN THE SAME YELLOW PANEL      */
/* ========================================================================== */

/*
 * Actual Totara DOM:
 * .tui-core_auth-loginForm__help
 *   ├─ .tui-popover__wrap              (help icon + floating popover)
 *   └─ div                              (visible cookie message)
 *
 * The visible message is NOT inside .tui-popover__wrap. Therefore the yellow
 * panel is drawn with a pseudo-element on the common parent (.help), while the
 * white outer 8px frame is kept exactly like the Figma composition.
 */
#page-login-index .tui-core_auth-loginForm__help {
    position: relative !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 392px !important;
    max-width: 100% !important;
    min-height: 72px !important;
    margin: 24px 0 0 !important;
    padding: 8px 28px !important;
    gap: 10px !important;
    color: var(--rossmann-black, #231F20) !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 24px !important;
    overflow: visible !important;
}

/* Inner yellow warning surface: inset by the Figma's 8px white frame. */
#page-login-index .tui-core_auth-loginForm__help::before {
    content: '' !important;
    position: absolute !important;
    inset: 8px !important;
    z-index: 0 !important;
    display: block !important;
    background: var(--rossmann-warning-bg, #FEFBEF) !important;
    border: 1.2px solid var(--rossmann-warning, #E3C216) !important;
    border-radius: 20px !important;
    pointer-events: none !important;
}

/* The popover wrapper only occupies the icon lane. */
#page-login-index .tui-core_auth-loginForm__help > .tui-popover__wrap {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Native help button = warning/info icon only. */
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton,
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton:hover,
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton:focus {
    position: relative !important;
    z-index: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rossmann-warning, #E3C216) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton .tui-btn__wrap,
#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton .tui-btn__iconBefore {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

#page-login-index .tui-core_auth-loginForm__help .tui-infoIconButton .tui-svgIcon {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    color: var(--rossmann-warning, #E3C216) !important;
}

/*
 * This is the ACTUAL visible cookie sentence in Totara: a direct sibling of
 * .tui-popover__wrap, not a child of it.
 */
#page-login-index .tui-core_auth-loginForm__help > .tui-popover__wrap + div {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rossmann-black, #231F20) !important;
    background: transparent !important;
    font-family: var(--rossmann-font, 'ROSSMANN Sans', Arial, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
}

/* Floating native help content must remain outside the flex flow. */
#page-login-index .tui-core_auth-loginForm__help .tui-popoverPositioner {
    position: absolute !important;
    z-index: 1100 !important;
}

@media (max-width: 480px) {
    #page-login-index .tui-core_auth-loginForm__help {
        width: 100% !important;
        min-height: 72px !important;
        padding: 8px 24px !important;
        border-radius: 20px !important;
    }

    #page-login-index .tui-core_auth-loginForm__help::before {
        inset: 8px !important;
        border-radius: 16px !important;
    }
}

/* ========================================================================== */
/* V8 PATCH — DASHBOARD EDIT MODE / ADD-BLOCK POPOVERS                       */
/* ========================================================================== */

/*
 * The global Rossmann card styling sets overflow:hidden on normal blocks.
 * Totara's block chooser popover is rendered inside the block_addblock block,
 * so on top/main/bottom regions it was clipped to the add-block card bounds.
 * Sidebar blocks already had an overflow:visible override, which is why the
 * chooser appeared correctly there.
 */
body.editing .block.block_addblock,
body.editing .block.block_addblock > .content,
body.editing .block.block_addblock > .block-content,
body.editing .block.block_addblock .content,
body.editing .block.block_addblock .block-content,
body.editing .block.block_addblock .singleselect,
body.editing .block.block_addblock .addBlock {
    overflow: visible !important;
}

/* Keep the chooser above neighbouring dashboard blocks/regions. */
body.editing .block.block_addblock {
    position: relative !important;
    z-index: 20 !important;
}

body.editing .block.block_addblock .popover,
body.editing .block.block_addblock .popover.in,
body.editing .block.block_addblock .popover__wrapper,
body.editing .block.block_addblock .popover__content {
    z-index: 1080 !important;
}

/* Do not let a dashboard region clip an open block chooser either. */
body.editing .pagelayout-dashboard .block-region,
body.editing.path-totara-dashboard .block-region {
    overflow: visible !important;
}

/*
 * Add-block trigger: the Rossmann accent circle is crimson, therefore force
 * the plus glyph to white so it remains visible in every dashboard region.
 */
body.editing .block_addblock .addBlock--trigger > .flex-icon,
body.editing .block_addblock .addBlock--trigger [data-flex-icon='plus'] {
    color: #FFFFFF !important;
}

body.editing .block_addblock .addBlock--trigger > .flex-icon::before,
body.editing .block_addblock .addBlock--trigger [data-flex-icon='plus']::before {
    color: #FFFFFF !important;
}

/* Ensure SVG-based plus icons follow the same white foreground if Totara
   renders this control as SVG in another revision. */
body.editing .block_addblock .addBlock--trigger svg,
body.editing .block_addblock .addBlock--trigger svg * {
    color: #FFFFFF !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

/* ========================================================================== */
/* END V8 PATCH                                                               */
/* ========================================================================== */

/* ========================================================================== */
/* V9 PATCH — TOTARA CATALOG SEARCH ICON SPACING                              */
/* ========================================================================== */

/*
 * Totara Catalog's search component does not use the generic .tui-searchFilter
 * pre-icon classes. The magnifier is a sibling of the input, so the global
 * input padding lets the placeholder run underneath it. Reserve a dedicated
 * icon lane explicitly for this component.
 */
.tui-totara_catalog-searchFilter {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
}

.tui-totara_catalog-searchFilter__icon {
    position: absolute !important;
    z-index: 2 !important;
    inset-inline-start: 16px !important;
    top: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rossmann-davys-grey) !important;
    pointer-events: none !important;
    transform: translateY(-50%) !important;
}

.tui-totara_catalog-searchFilter__icon > svg,
.tui-totara_catalog-searchFilter__icon .tui-svgIcon {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}

.tui-totara_catalog-searchFilter__search,
input.tui-totara_catalog-searchFilter__search {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline-start: 48px !important;
    padding-inline-end: 44px !important;
}

.tui-totara_catalog-searchFilter__search::placeholder {
    opacity: 1 !important;
}

/* Keep the clear-search control in its own lane on the opposite side. */
.tui-totara_catalog-searchFilter__clearContainer {
    position: absolute !important;
    z-index: 2 !important;
    inset-inline-end: 12px !important;
    top: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

/* ========================================================================== */
/* END V9 PATCH                                                               */
/* ========================================================================== */

/* ========================================================================== */
/* V10 PATCH — DEVELOPMENT BLOCK HEADING SIZE                                 */
/* Match the visual size of the Manager tasks H2 while preserving the         */
/* "Fejlődési" bold + "lehetőségek" regular weight treatment.                  */
/* ========================================================================== */

.block_rossmann_development .block-rossmann-development__heading {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.block_rossmann_development .block-rossmann-development__heading h2 {
    margin: 0 !important;
    font-size: 25px !important;
    line-height: 29px !important;
    font-weight: 400 !important;
}

.block_rossmann_development .block-rossmann-development__heading h2 strong {
    font-weight: 700 !important;
}

/* Keep the same heading scale reduction used by the task blocks on smaller
   screens. */
@media (max-width: 767.98px) {
    .block_rossmann_development .block-rossmann-development__heading h2 {
        font-size: 22px !important;
        line-height: 29px !important;
    }
}

/* ========================================================================== */
/* V11 PATCH — MOBILE / TABLET OVERLAY NAVIGATION STACKING                    */
/* Prevent the breadcrumb/page content from painting over the opened Inspire  */
/* navigation drawer on narrow viewports.                                     */
/* ========================================================================== */

@media (max-width: 991.98px) {
    /* The Inspire navigation becomes an overlay drawer at this breakpoint.
       Keep the complete navigation stacking context above the page body so
       breadcrumbs, page headings and admin controls cannot bleed through it. */
    .theme_inspire__nav {
        position: relative !important;
        z-index: 1200 !important;
    }

    .tui-theme_inspire-navigation--overlaid {
        z-index: 1201 !important;
        background: var(--rossmann-page-bg) !important;
    }

    .tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__nav {
        position: relative !important;
        z-index: 1 !important;
        background: var(--rossmann-page-bg) !important;
    }

    /* Explicitly keep page chrome below the open drawer. */
    .userToolbar,
    .breadcrumb-container,
    .page-body > #page,
    #page {
        position: relative;
        z-index: 1;
    }
}

/* ========================================================================== */
/* END V11 PATCH                                                              */
/* ========================================================================== */


/* ========================================================================== */
/* V12 PATCH — FULL-HEIGHT MOBILE / TABLET NAVIGATION DRAWER                  */
/* ========================================================================== */

/*
 * In Inspire's narrow-viewport mode the navigation is rendered as an
 * `.tui-theme_inspire-navigation--overlaid` drawer.  Its natural height can
 * collapse to the height of the logo + menu items, leaving the page visible
 * below the drawer.  Make the overlay a true viewport-height drawer and let
 * the drawer itself scroll if its content becomes taller than the viewport.
 */
@media (max-width: 991.98px) {
    .theme_inspire__nav {
        z-index: 1200 !important;
    }

    .tui-theme_inspire-navigation--overlaid {
        position: fixed !important;
        z-index: 1201 !important;
        top: 0 !important;
        bottom: 0 !important;
        inset-inline-start: 0 !important;
        box-sizing: border-box !important;
        width: min(300px, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
        height: 100vh !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        background: var(--rossmann-page-bg) !important;
    }

    .tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__nav {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 100% !important;
        padding: 16px 8px 24px !important;
        background: var(--rossmann-page-bg) !important;
    }

    /* Keep the two white cards inside the drawer, but allow the menu card to
       remain content-driven.  The drawer background continues to the bottom
       of the viewport instead of ending after the last navigation item. */
    .tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__heading,
    .tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__items {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: none !important;
    }

    /* The page remains underneath the fixed drawer; breadcrumb and page
       controls therefore cannot overlap it while it is open. */
    .breadcrumb-container,
    .page-body,
    #page {
        z-index: 1 !important;
    }
}

/* ========================================================================== */
/* END V12 PATCH                                                              */
/* ========================================================================== */


/* ==========================================================================
 * 23. PERFORM - GOALS EMPTY STATE (HIBAJEGY 13)
 * ========================================================================== */

.tui-performGoals {
    color: var(--rossmann-black);
}

.tui-performGoals__empty {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 240px;
    padding: 48px 24px;

    background: #FFFFFF;
    border-radius: var(--rossmann-radius-card);
    box-shadow: var(--rossmann-shadow-card);
}

.tui-performGoals__empty-icon {
    width: 56px !important;
    height: 56px !important;
    margin-bottom: 24px;

    color: var(--rossmann-crimson) !important;
}

.tui-performGoals__empty-text {
    margin-bottom: 24px;

    color: var(--rossmann-black) !important;
    font-family: var(--rossmann-font) !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 700 !important;

    text-align: center;
}

.tui-performGoals__empty .tui-btn--variant-primary {
    border-radius: var(--rossmann-radius-control) !important;
}



