/* MAKE-BRAND-ACTIVE — MAKE theme brand stylesheet (plain CSS, no compilation) */

/* ---------------------------------------------------------------- fonts
   Self-hosted from theme/make/fonts/ via Moodle's font token, so there is
   no dependency on Google Fonts. */
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-Light.ttf') format('truetype');
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-Medium.ttf') format('truetype');
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-Bold.ttf') format('truetype');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-display: swap;
}
@font-face {
    font-family: 'Host Grotesk';
    src: url('../fonts/HostGrotesk-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Quicksand';
    src: url('../fonts/Quicksand-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Quicksand';
    src: url('../fonts/Quicksand-Bold.ttf') format('truetype');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Quimby Mayoral';
    src: url('../fonts/QuimbyMayoral.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}

:root {
    --make-ink: #1f252b;
    --make-cream: #faf1e6;
    --make-paper: #fffaf2;
    --make-blue: #1439f5;
    --make-blue-dark: #0e29b8;
    --make-magenta: #ff27e1;
    --make-cyan: #43e7f9;
    --make-amber: #f49f16;
    --make-sans: 'Quicksand', 'Helvetica Neue', system-ui, sans-serif;
    --make-display: 'Host Grotesk', 'Quicksand', sans-serif;
    --make-script: 'Quimby Mayoral', 'Segoe Script', cursive;
    --make-band-pad: 22px;
    --make-login-squiggle-1: var(--make-cyan);
    --make-login-squiggle-2: var(--make-magenta);
    --make-section-gap: 28px;
}
/* Site Customizer — site-wide toggles, set as body classes by hero.js from
   window.MAKE_CUSTOMIZER (published by hook_callbacks::add_customizer_output). */
body.make-heading-quicksand {
    --make-display: var(--make-sans);
}
body.make-no-texture .make-category-card__top::before {
    display: none !important;
}
body.make-density-compact .make-hero-strip {
    padding: 24px 28px !important;
}
body.make-density-compact .make-category-overview__grid,
body.make-density-compact .make-subcat-cards {
    gap: 10px !important;
}
body.make-density-compact .make-category-card__note {
    padding: 14px 18px 18px !important;
    font-size: 14px !important;
}
body.make-density-compact .make-continue-course,
body.make-density-compact .make-category-overview {
    margin-bottom: 14px !important;
}
.make-customizer {
    max-width: 900px;
    margin: 12px auto 40px;
    font-family: var(--make-sans);
    color: var(--make-ink);
}
.make-customizer__intro {
    font-size: 15px;
    color: rgba(31, 37, 43, .65);
    margin: 0 0 28px;
}
.make-customizer__tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(31, 37, 43, .12);
}
.make-customizer__tab {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 10px 18px;
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 14px;
    color: rgba(31, 37, 43, .5);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.make-customizer__tab.is-active {
    color: var(--make-ink);
    border-bottom-color: var(--make-blue);
}
.make-customizer__tabpanel {
    display: none;
}
.make-customizer__tabpanel.is-active {
    display: block;
}
.make-customizer__links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.make-customizer__links a {
    font-size: 12.5px;
    font-weight: 600;
}
.make-customizer__group {
    margin-bottom: 30px;
}
.make-customizer__group-label {
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(31, 37, 43, .45);
    margin-bottom: 14px;
}
.make-customizer__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.make-customizer__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.make-customizer__card--wide { grid-column: 1 / -1; }
.make-naved { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.make-naved__group { border: 1px solid rgba(31,37,43,.12); border-radius: 14px; padding: 12px; background: rgba(255,255,255,.35); }
.make-naved__ghead { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.make-naved__gname { flex: 1 1 auto; font-size: 11.5px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; }
.make-naved__row { position: relative; display: flex; align-items: center; gap: 6px; padding: 5px 0; border-top: 1px solid rgba(31,37,43,.07); }
.make-naved__row.is-hidden > :not(.make-naved__icon-btn) { opacity: .4; }
.make-naved__label { flex: 0 1 200px; min-width: 0; }
.make-naved__url { flex: 1 1 200px; min-width: 0; }
.make-naved__href { flex: 1 1 200px; font-size: 12px; color: rgba(31,37,43,.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.make-naved__move { flex: 0 0 140px; }
.make-naved input, .make-naved select { height: 34px; font-size: 13px; border: 1px solid rgba(31,37,43,.18); background: #fff; }
.make-naved__iconpick, .make-naved__icon-btn { height: 34px; min-width: 34px; border-radius: 999px; border: 1px solid rgba(31,37,43,.18); background: #fff; color: var(--make-ink); display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; font-size: 12px; font-weight: 700; cursor: pointer; flex: 0 0 auto; }
.make-naved__iconpick { padding: 0; width: 34px; }
.make-naved__iconpick:hover, .make-naved__icon-btn:hover { border-color: var(--make-ink); }
.make-naved__icon-btn:disabled { opacity: .35; cursor: not-allowed; }
.make-naved__icon-btn--danger { color: #c0392b; }
.make-naved__icons { position: absolute; left: 0; top: calc(100% + 4px); z-index: 30; display: grid; grid-template-columns: repeat(7, 34px); gap: 4px; padding: 8px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.15); border-radius: 12px; box-shadow: 0 10px 28px rgba(31,37,43,.18); }
.make-naved__iconopt { width: 34px; height: 34px; border-radius: 8px; border: 1px solid transparent; background: transparent; color: var(--make-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.make-naved__iconopt:hover { background: rgba(20,57,245,.08); }
.make-naved__iconopt.is-on { border-color: var(--make-blue); color: var(--make-blue); background: rgba(20,57,245,.08); }
.make-naved__btn { border: 0; border-radius: 999px; background: var(--make-ink); color: #fff; font-weight: 700; font-size: 13px; padding: 8px 16px; cursor: pointer; }
.make-naved__btn--small { margin-top: 8px; padding: 6px 14px; font-size: 12px; }
.make-naved__btn--ghost { background: transparent; color: var(--make-ink); border: 1px solid rgba(31,37,43,.25); }
.make-naved__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.make-naved__note { font-size: 12px; color: rgba(31,37,43,.55); }
.make-perms { display: flex; flex-direction: column; margin-top: 8px; }
.make-perms__row { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 20px; padding: 14px 0; border-top: 1px solid rgba(31,37,43,.1); }
@media (max-width: 720px) { .make-perms__row { grid-template-columns: 1fr; gap: 8px; } }
.make-perms__label { font-weight: 700; font-size: 15px; }
.make-perms__desc { font-size: 12.5px; color: rgba(31,37,43,.6); margin-top: 2px; }
.make-perms__who { display: flex; flex-direction: column; gap: 10px; }
.make-perms__group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.make-perms__grouplabel { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.5); width: 72px; flex: 0 0 auto; }
.make-perms__chip { display: inline-flex !important; align-items: center; margin: 0 !important; cursor: pointer; }
.make-perms__chip input { position: absolute; opacity: 0; pointer-events: none; }
.make-perms__chip span { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(31,37,43,.2); font-size: 13px; font-weight: 600; color: var(--make-ink); transition: background .15s ease, color .15s ease, border-color .15s ease; }
.make-perms__chip:hover span { border-color: var(--make-ink); }
.make-perms__chip input:checked + span { background: var(--make-ink); color: #fff; border-color: var(--make-ink); }
.make-perms__chip input:checked + span::before { content: '✓'; margin-right: 6px; font-size: 12px; }
.make-perms__chip input:focus-visible + span { box-shadow: 0 0 0 2px var(--make-blue); }
.make-perms__none { font-size: 12.5px; color: rgba(31,37,43,.5); font-style: italic; }
.make-perms__foot { font-size: 12px; color: rgba(31,37,43,.55); margin: 10px 0 0 !important; }
.make-customizer__card {
    background: var(--make-paper);
    border-radius: 16px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 0 1px 0 rgba(31, 37, 43, .06);
}
.make-customizer__card-head {
    display: flex;
    align-items: center;
    gap: 12px;
}
.make-customizer__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.make-customizer__card-title {
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 15px;
}
.make-customizer__card-desc {
    font-size: 12.5px;
    color: rgba(31, 37, 43, .55);
}
.make-customizer__field {
    background: transparent;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-top: 1px solid rgba(31, 37, 43, .08);
    padding-top: 12px;
}
.make-customizer__current {
    font-size: 11.5px;
    color: rgba(31, 37, 43, .5);
    margin-top: 4px;
}
.make-customizer__field label {
    font-weight: 600;
    font-size: 13.5px;
}
.make-customizer__field input[type="text"],
.make-customizer__field input[type="number"],
.make-customizer__field select {
    padding: 8px 10px;
    border: 1px solid rgba(31, 37, 43, .15);
    border-radius: 8px;
    font: inherit;
}
.make-customizer__field input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: var(--make-blue);
    align-self: flex-start;
}
.make-customizer__field input[type="color"] {
    width: 48px;
    height: 32px;
    border: 1px solid rgba(31, 37, 43, .15);
    border-radius: 8px;
    padding: 2px;
}
.make-customizer__save {
    margin-top: 8px;
    background: var(--make-blue);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 12px 28px;
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
}
.make-fb-division-addform { display: flex; gap: 10px; max-width: 480px; margin-bottom: 18px; align-items: center; }
.make-fb-division-addform button { white-space: nowrap !important; flex: 0 0 auto; }
.make-fb-division-addform input { flex: 1 1 auto; }
.make-fb-division-table { width: 100%; max-width: 720px; }
.make-fb-division-table td { padding: 6px 10px; vertical-align: middle; }
.make-fb-division-renameform { display: flex; gap: 8px; }
.make-fb-division-renameform input { max-width: 260px; }
.make-fb-members-table { width: 100%; }
.make-fb-members-table th, .make-fb-members-table td { padding: 8px 10px; vertical-align: middle; }
.make-fb-members-table select { max-width: 160px; }
.make-fb-members-table select:disabled { opacity: 0.45; }
.make-fb-teampick { position: relative; width: 180px; }
.make-fb-teampick__summary { list-style: none; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px; }
.make-fb-teampick__summary::-webkit-details-marker { display: none; }
.make-fb-teampick__panel { position: absolute; top: calc(100% + 4px); left: 0; z-index: 50; min-width: 220px; max-height: 260px; overflow-y: auto; background: var(--make-paper); border: 1px solid rgba(31,37,43,.15); border-radius: 10px; box-shadow: 0 8px 24px rgba(31,37,43,.14); padding: 6px; display: flex; flex-direction: column; }
.make-fb-teampick__opt { display: flex !important; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; margin: 0 !important; cursor: pointer; font-size: 14px; }
.make-fb-teampick__opt:hover { background: rgba(20,57,245,.08); }
.make-fb-teampick--single { width: 150px; }
.make-fb-teampick--single .make-fb-teampick__summary { max-width: 150px; }
.make-fb-teampick--single .make-fb-teampick__opt { border: 0; background: transparent; text-align: left; width: 100%; color: var(--make-ink); }
.make-fb-teampick--single .make-fb-teampick__opt:hover { background: rgba(20,57,245,.08); }
.make-fb-teampick__opt--selected { background: rgba(20,57,245,.12) !important; color: var(--make-blue) !important; font-weight: 600; }
.make-fb-teampick--disabled .make-fb-teampick__summary { opacity: .45; cursor: not-allowed; }
.make-fb-teampick__search { margin-bottom: 6px; }
.make-fb-teampick__panel--flip { left: auto !important; right: 0 !important; }
.make-fb-teampick__panel--up { top: auto !important; bottom: calc(100% + 4px) !important; }
.make-fb-members-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; display: block; }
.make-fb-members-toolbar { display: flex; flex-direction: column; gap: 10px; background: var(--make-paper); border-radius: 12px; padding: 14px 16px; margin-bottom: 16px; }
.make-fb-members-toolbar__row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.make-fb-members-toolbar__label { font-weight: 700; font-size: 13px; color: var(--make-ink); flex-shrink: 0; }
.make-fb-members-toolbar select { max-width: 200px; }
.make-fb-members-toolbar__count { font-size: 12.5px; color: rgba(31,37,43,.55); margin-left: auto; }
.make-fb-row-check { width: 18px; height: 18px; }
.make-fb-cs-pane__title { font-family: var(--make-display); font-weight: 800; font-size: 18px; margin-bottom: 2px; }
.make-fb-cs-pane__subtext { color: rgba(31,37,43,.55); font-size: 13px; margin-bottom: 16px; }
.make-fb-cs-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 0; border-top: 1px solid rgba(31,37,43,.08); }
.make-fb-cs-row__name { display: flex; align-items: center; gap: 6px; font-weight: 600; min-width: 180px; }
.make-fb-cs-pill { font-size: 11.5px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: rgba(31,37,43,.07); color: var(--make-ink); }
.make-fb-cs-pill--process { background: var(--make-blue); color: #fff; }
.make-fb-cs-subpick { position: relative; display: inline-flex; }
.make-fb-duedate { display: flex; align-items: center; gap: 6px; margin: 0; }
.make-fb-duedate__input { width: 150px !important; background: transparent !important; border-color: transparent !important; cursor: pointer; padding-left: 0 !important; }
.make-fb-duedate__input:hover, .make-fb-duedate__input:focus, .make-fb-duedate.is-dirty .make-fb-duedate__input { border-color: rgba(31,37,43,.25) !important; background: #fff !important; padding-left: 8px !important; }
.make-fb-duedate__save { display: none !important; padding: 3px 12px !important; }
.make-fb-duedate.is-dirty .make-fb-duedate__save { display: inline-block !important; }
.make-fb-cs-strip { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.make-fb-cs-chip { border: 1px solid var(--make-ink); background: var(--make-ink); color: #fff; border-radius: 999px; padding: 0 16px; height: 38px; display: inline-flex; align-items: center; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.make-fb-cs-chip:hover { background: var(--make-blue) !important; border-color: var(--make-blue) !important; color: #fff !important; }
.make-fb-cs-row__avatar { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: rgba(31,37,43,.08); }
.make-fb-cs-pane__head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.make-fb-cs-teamgroup { display: flex; align-items: center; gap: 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--make-ink); padding: 14px 0 6px; }
.make-fb-cs-teamgroup__count { font-size: 11px; font-weight: 700; letter-spacing: 0; background: rgba(31,37,43,.08); border-radius: 999px; padding: 1px 8px; }
.make-fb-cr-teamgroup { grid-column: 1 / -1; border-top: 1px solid rgba(31,37,43,.1); padding-top: 12px; margin-top: 4px; }
.make-fb-cs-pane__head .make-fb-cs-pane__subtext { margin-bottom: 0 !important; }
.make-fb-cs-pane__avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: rgba(31,37,43,.08); }
.make-fb-cs-row__note { font-size: 13px; color: rgba(31,37,43,.55); margin-left: 4px; }
.make-fb-cs-nav .btn { height: 38px !important; padding: 0 16px !important; font-size: 14px !important; display: inline-flex !important; align-items: center; border-radius: 999px !important; background: transparent !important; color: var(--make-ink) !important; border: 1px solid rgba(31,37,43,.18) !important; font-weight: 600 !important; box-shadow: none !important; }
.make-fb-cs-nav .btn:hover { border-color: var(--make-ink) !important; }
.make-fb-cs-nav #make-fb-cs-counter { font-size: 14px; }
.make-fb-cs-strip { gap: 8px !important; margin: 4px 0 10px !important; }
.make-fb-cs-chip--active { box-shadow: 0 0 0 2px var(--make-cream, #faf1e6), 0 0 0 4px var(--make-ink); }
.make-fb-cs-chip--confirmed { background: var(--make-ink); color: #43e7f9; border-color: var(--make-ink); }
.make-fb-cs-hint { font-size: 13px; color: rgba(31,37,43,.6); margin: 0 0 20px !important; }
.make-fb-cs-pane__confirm { margin-top: 18px !important; padding-top: 14px; border-top: 1px solid rgba(31,37,43,.08); }
.make-fb-cs-pane.is-confirmed .make-fb-cs-pane__rows, .make-fb-cs-pane.is-confirmed .make-fb-cs-addmember, .make-fb-cs-pane.is-confirmed .make-fb-cs-templeader-select { opacity: .55; pointer-events: none; }
.make-fb-cs-pane.is-confirmed .make-fb-cs-confirm { background: transparent !important; color: var(--make-blue) !important; border: 1px solid var(--make-blue) !important; }
.make-fb-cs-submitbar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 28px !important; }
.make-fb-cs-submitbar__summary { font-size: 13px; color: rgba(31,37,43,.6); }
#make-fb-cs-submit:disabled { opacity: .45; cursor: not-allowed; }
.make-fb-cs-pill--editable { border: 1px solid transparent !important; cursor: pointer; line-height: inherit; display: inline-flex; align-items: center; gap: 5px; }
.make-fb-cs-pill--editable::after { content: ""; width: 5px; height: 5px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: translateY(-2px) rotate(45deg); opacity: .7; flex: 0 0 auto; }
.make-fb-cs-pill--editable:hover { filter: brightness(.94); border-color: var(--make-ink) !important; }
.make-fb-cs-pill--overridden { box-shadow: 0 0 0 2px var(--make-ink); border: 1px solid transparent !important; }
.make-fb-cs-pill--warn { background: rgba(244,159,22,.18) !important; color: #8a5400 !important; border-color: #f49f16 !important; }
.make-fb-cs-pill--error { background: rgba(255,39,225,.12) !important; color: #a3008f !important; border: 1px solid #ff27e1 !important; }
.make-fb-cs-row__note--error { color: #a3008f !important; font-weight: 700; }
.make-fb-cs-row__note--error::before { content: "!"; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-right: 6px; border-radius: 50%; background: #ff27e1; color: #fff; font-size: 11px; font-weight: 800; vertical-align: 1px; }
.make-fb-cs-pane__error { margin-top: 16px !important; padding: 12px 14px; border-radius: 14px; background: rgba(255,39,225,.08); border: 1.5px solid #ff27e1; color: #7a006b; font-size: 13.5px; line-height: 1.45; animation: make-fb-cs-shake .32s ease; }
.make-fb-cs-chip--error { border-color: #ff27e1 !important; color: #a3008f !important; background: rgba(255,39,225,.08) !important; }
@keyframes make-fb-cs-shake { 0%,100% { transform: none; } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce) { .make-fb-cs-pane__error { animation: none; } }
.make-fb-cs-subpick__panel { min-width: 200px; }
.make-fb-cs-subpick__opt { border: 0; background: transparent; text-align: left; width: 100%; color: var(--make-ink); display: flex !important; justify-content: space-between; }
.make-fb-cs-subpick__note { font-size: 11px; color: rgba(31,37,43,.5); font-weight: 500; }
.make-fb-cs-subpick__group { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.5); padding: 8px 8px 2px; }
.make-fb-cs-subpick__sep { height: 1px; background: rgba(31,37,43,.1); margin: 4px 0; }
.make-fancy-pick { width: 320px; max-width: 100%; margin-bottom: 8px; }
.make-fancy-pick .make-fb-teampick__summary { max-width: 100%; }
.make-fancy-pick .make-fb-teampick__panel { min-width: 100%; }
.make-fb-cs-subpick__panel { max-height: 320px; overflow-y: auto; }
.make-fb-cs-subpick__empty { font-size: 12.5px; color: rgba(31,37,43,.55); padding: 6px 8px; font-style: italic; }
.make-fb-cs-subpick__more { border-top: 1px solid rgba(31,37,43,.1); margin-top: 6px; padding-top: 4px; }
.make-fb-cs-subpick__toggle { border: 0; background: transparent; width: 100%; text-align: left; padding: 6px 8px; font-size: 12.5px; font-weight: 700; color: var(--make-blue); cursor: pointer; border-radius: 6px; }
.make-fb-cs-subpick__toggle:hover { background: rgba(20,57,245,.08); }
.make-fb-cs-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 24px !important; }
.make-fb-cs-nav__addleader { margin-left: 8px !important; }
.make-fb-cs-pane__title--picker { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 6px !important; }
.make-fb-cs-row__pills { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
/* Pills always sit beside the name (never drop below it): a 2-column grid —
   fixed name column, pills column beside it (hidden inputs take no cell). */
.make-fb-cs-pane .make-fb-cs-row { display: grid !important; grid-template-columns: 230px minmax(0, 1fr) !important; column-gap: 12px; align-items: center; }
.make-fb-cs-pane .make-fb-cs-row > input[type=hidden] { display: none !important; }
.make-fb-cs-pane .make-fb-cs-row__name { min-width: 0 !important; overflow: visible; }
.make-fb-cs-pane .make-fb-cs-row__name select { flex: 1 1 auto; min-width: 0; width: 100%; max-width: 100% !important; }
.make-fb-cs-pane .make-fb-cs-row__pills { display: flex !important; flex-wrap: nowrap !important; gap: 6px; align-items: center; min-width: 0; }
.make-fb-cs-pane .make-fb-cs-row__pills > * { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 1100px) { .make-fb-cs-pane .make-fb-cs-row__pills { flex-wrap: wrap !important; } }
/* The start screen needs room for name + 3 pills + note on one line — widen its
   content column past Boost's narrow default for this page only. */
body#page-theme-make-fb_cycle_start .main-inner,
body#page-theme-make-fb_cycle_start #region-main,
body#page-theme-make-fb_cycle_start #page-header,
body#page-theme-make-fb_cycle_start #page-content { max-width: 1240px !important; }
.make-fb-cs-pane .make-fb-cs-addmember { margin-top: 10px !important; }
.make-fb-division-count { position: relative; cursor: default; }
.make-fb-division-tooltip {
    display: none;
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 30;
    background: var(--make-ink); color: var(--make-cream);
    border-radius: 10px; padding: 10px 14px;
    min-width: 160px; max-width: 260px;
    box-shadow: 0 8px 24px rgba(31, 37, 43, .3);
    font-family: var(--make-display); font-size: 12.5px; font-weight: 500;
    white-space: normal;
}
.make-fb-division-count:hover .make-fb-division-tooltip { display: block; }
.make-fb-division-tooltip__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.make-fb-division-table, .make-fb-division-table.table { overflow: visible !important; }
#page-content table.make-fb-division-table { overflow: visible !important; border: 0 !important; border-radius: 0 !important; }
#page-content table.make-fb-division-table td { border-color: transparent !important; }
.make-customizer--compact { max-width: 640px; margin: 0 0 24px; }
.make-customizer--compact .make-customizer__intro { font-size: 13.5px; margin-bottom: 18px; }
.make-customizer--compact .make-customizer__tab { padding: 8px 14px; font-size: 13px; }
.make-customizer--compact .make-fb-division-addform { max-width: 380px; align-items: center; }
body.make-coursecard-outline .make-course-card {
    background: var(--make-paper) !important;
    color: var(--make-ink) !important;
    border: 2px solid var(--make-card-color, var(--make-ink)) !important;
}

/* ----------------------------------------------------------------- base */
body,
.form-control,
input, select, textarea, button {
    font-family: var(--make-sans) !important;
}
body {
    background-color: var(--make-cream) !important;
    color: var(--make-ink) !important;
    -webkit-font-smoothing: antialiased !important;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.page-title, .card-title, .sectionname,
.page-context-header .page-header-headings h1 {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

/* ---------------------------------------------------------------- links */
a {
    color: var(--make-blue);
}
a:hover, a:focus {
    color: var(--make-blue-dark);
}
:focus-visible {
    outline-color: var(--make-magenta) !important;
}

/* --------------------------------------------------------------- navbar */
nav.navbar,
.navbar.fixed-top {
    background-color: var(--make-ink) !important;
    border-bottom: 4px solid var(--make-cyan);
    z-index: 1040 !important;
    box-shadow: none !important;
}
nav.navbar .nav-link,
nav.navbar .navbar-brand,
nav.navbar a,
nav.navbar .navbar-nav .nav-link,
.navbar .primary-navigation .nav-link {
    color: rgba(250, 241, 230, 0.92) !important;
}
nav.navbar .nav-link:hover,
nav.navbar .navbar-nav .nav-link:hover,
.navbar .primary-navigation .nav-link:hover {
    color: var(--make-cyan) !important;
}
.navbar .primary-navigation .nav-link.active,
.navbar .nav-link.active {
    color: #ffffff !important;
    box-shadow: inset 0 -3px 0 var(--make-cyan) !important;
}
nav.navbar .btn,
nav.navbar .form-control {
    background-color: rgba(255, 255, 255, 0.10) !important;
    border-color: transparent !important;
    color: var(--make-cream) !important;
    border-radius: 999px !important;
}
nav.navbar .btn:hover {
    background-color: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
}
/* Moodle logo/brand image sits on the dark bar */
nav.navbar .navbar-brand img,
nav.navbar .logo img {
    filter: brightness(0) invert(1) !important;
}

/* -------------------------------------------------------------- buttons */
.btn {
    border-radius: 999px !important;
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}
.btn-primary {
    background-color: var(--make-blue) !important;
    border-color: var(--make-blue) !important;
    color: #ffffff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--make-blue-dark) !important;
    border-color: var(--make-blue-dark) !important;
}
.btn-secondary {
    background-color: var(--make-ink) !important;
    border-color: var(--make-ink) !important;
    color: var(--make-cream) !important;
}
.btn-outline-primary {
    border-color: var(--make-blue) !important;
    color: var(--make-blue) !important;
}
.btn-outline-primary:hover {
    background-color: var(--make-blue) !important;
    color: #ffffff !important;
}
.btn-outline-secondary {
    border-color: rgba(31, 37, 43, 0.25) !important;
    color: var(--make-ink) !important;
}

/* ---------------------------------------------- feedback: user cards */
.make-fb-usercard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
.make-fb-usercard {
    background: var(--make-paper);
    border: 1px solid rgba(31, 37, 43, 0.12);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--make-ink);
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}
a.make-fb-usercard:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(31, 37, 43, 0.14);
    border-color: rgba(31, 37, 43, 0.22);
    color: var(--make-ink);
}
.make-fb-usercard__photo {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.make-fb-usercard__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.make-fb-usercard__photo--initials {
    align-items: center;
    justify-content: center;
}
.make-fb-usercard__initials {
    font-family: var(--make-display);
    font-weight: 800;
    font-size: 40px;
    color: #fff;
}
.make-fb-usercard__editbtn {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    color: var(--make-ink);
    text-decoration: none;
    font-size: 14px;
    box-shadow: 0 2px 8px rgba(31, 37, 43, 0.25);
}
body:not(.editing) .make-fb-usercard__editbtn {
    display: none !important;
}
.make-fb-usercard__badge {
    display: inline-block;
    margin-left: 8px;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(20, 57, 245, 0.12);
    color: var(--make-blue);
    vertical-align: middle;
}
.make-mgmt-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.make-mgmt-card {
    background: var(--make-paper);
    border: 1px solid rgba(31, 37, 43, 0.12);
    border-radius: 20px;
    padding: 20px;
    min-height: 160px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-decoration: none;
    color: var(--make-ink);
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}
.make-mgmt-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(31, 37, 43, 0.14);
    border-color: rgba(31, 37, 43, 0.22);
    color: var(--make-ink);
}
.make-mgmt-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.make-mgmt-card__title {
    font-family: var(--make-display);
    font-weight: 800;
    font-size: 24px;
    line-height: 1.15;
}
.make-mgmt-card__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.make-mgmt-card__desc {
    font-size: 15px;
    color: rgba(31, 37, 43, 0.7);
    line-height: 1.4;
}
.make-fb-usercard__body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.make-fb-usercard__name {
    font-family: var(--make-display);
    font-weight: 800;
    font-size: 18px;
    line-height: 1.2;
}
.make-fb-usercard__meta {
    font-size: 14px;
    color: rgba(31, 37, 43, 0.6);
}
.make-fb-usercard__pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 2px;
}
.make-fb-usercard__pill {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(31, 37, 43, 0.07);
    color: rgba(31, 37, 43, 0.6);
}
.make-fb-usercard__pill--leader { background: var(--make-ink) !important; color: #fff !important; }
.make-fb-usercard--info { cursor: pointer; }
.make-fb-usercard--info .make-fb-usercard__photo { position: relative; overflow: hidden; }
.make-fb-usercard__info { position: absolute; left: 0; right: 0; bottom: 0; top: 0; background: linear-gradient(to top, rgba(31,37,43,0.88) 0%, rgba(31,37,43,0.55) 45%, rgba(31,37,43,0) 100%); color: #fff6ed; padding: 16px 14px 14px; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; opacity: 0; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease; pointer-events: none; }
.make-fb-usercard--info:hover .make-fb-usercard__info, .make-fb-usercard--info:focus-visible .make-fb-usercard__info, .make-fb-usercard--info.is-info-open .make-fb-usercard__info { opacity: 1; transform: none; }
.make-fb-usercard__inforow { display: flex; flex-direction: column; gap: 3px; }
.make-fb-usercard__infolabel { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,246,237,.75); }
.make-fb-usercard__infoval { font-size: 14px; font-weight: 600; line-height: 1.3; color: #fff6ed; }
.make-fb-usercard__infopill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: rgba(255,255,255,.18); }
.make-fb-usercard__infoempty { font-size: 13px; color: rgba(255,255,255,.7); font-style: italic; }
.make-fb-usercard--complete { background: var(--make-blue) !important; border-color: var(--make-blue) !important; }
.make-fb-usercard--complete .make-fb-usercard__name, .make-fb-usercard--complete .make-fb-usercard__meta { color: #fff !important; }
.make-fb-usercard--complete .make-fb-usercard__pill { background: rgba(255,255,255,.2) !important; color: #fff !important; }
.make-fb-usercard--complete a { color: #fff !important; text-decoration: none !important; }
.make-fb-usercard--complete a:hover { opacity: .8; }
.make-fb-usercard--complete .make-fb-usercard__photo { position: relative; }
.make-fb-usercard__badge { position: absolute; top: 10px; left: 10px; background: var(--make-blue); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; padding: 4px 10px; border-radius: 999px; box-shadow: 0 2px 8px rgba(31,37,43,.2); }
.make-fb-usercard--leader { box-shadow: 0 0 0 2px var(--make-ink) !important; }
.make-fb-cr-group { margin-bottom: 36px !important; }
.make-fb-cr-group__title { font-family: var(--make-display); font-weight: 800; font-size: 18px; margin-bottom: 14px; padding-bottom: 8px; border-bottom: 1px solid rgba(31,37,43,.12); }
.make-fb-cr-group__meta { display: inline-block; margin-left: 12px; font-family: var(--make-body, inherit); font-weight: 600; font-size: 13px; color: rgba(31,37,43,.6); }
.make-fb-usercard__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.make-fb-ar-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 28px; }
.make-fb-ar-toolbar form { margin: 0; }
.make-fb-ar-toolbar select { min-width: 240px; }
.make-fb-ar-search { flex: 1 1 220px; max-width: 320px; }
.make-fb-ar-filters { display: flex; gap: 6px; }
.make-fb-ar-filter { padding: 7px 14px; border-radius: 999px; border: 1.5px solid rgba(31,37,43,.18); background: transparent; color: var(--make-ink); font-size: 13px; font-weight: 700; transition: background-color .16s ease, border-color .16s ease, color .16s ease; }
.make-fb-ar-filter:hover { border-color: var(--make-ink); }
.make-fb-ar-filter.is-active { background: var(--make-ink); border-color: var(--make-ink); color: #fff; }
.make-fb-ar-group[hidden], .make-fb-usercard[hidden], .make-fb-ar-empty[hidden] { display: none !important; }
.make-fb-usercard__btn { display: inline-flex; align-items: center; padding: 6px 14px; border-radius: 999px !important; font-size: 13px; font-weight: 700; line-height: 1.2; text-decoration: none !important; border: 1.5px solid var(--make-ink); background: transparent; color: var(--make-ink) !important; transition: transform .16s ease, background-color .16s ease, color .16s ease; }
.make-fb-usercard__btn:hover { transform: translateY(-1px); background: rgba(31,37,43,.07); }
.make-fb-usercard__btn:active { transform: scale(.97); }
.make-fb-usercard__btn--primary { background: var(--make-ink); color: #fff !important; }
.make-fb-usercard__btn--primary:hover { background: var(--make-blue); border-color: var(--make-blue); }
.make-fb-usercard--complete a.make-fb-usercard__btn { border-color: #fff; color: #fff !important; }
.make-fb-usercard--complete a.make-fb-usercard__btn:hover { background: rgba(255,255,255,.15); opacity: 1; }
.make-fb-usercard--complete a.make-fb-usercard__btn--print { background: #fff; color: var(--make-blue) !important; }
.make-fb-usercard--complete a.make-fb-usercard__btn--print:hover { background: var(--make-cream); }
.make-fb-usercard__pill--done {
    background: rgba(20, 57, 245, 0.12);
    color: var(--make-blue);
}
.make-fb-usercard__iconbtn {
    position: absolute;
    top: 16px;
    z-index: 2;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50% !important;
    color: var(--make-ink);
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(31, 37, 43, 0.25);
    box-sizing: border-box;
}
.make-fb-usercard__iconbtn--right {
    right: 16px;
}
.make-fb-usercard__iconbtn--left {
    left: 16px;
}
.make-fb-usercard__iconbtn--danger {
    color: #c0392b;
}
body:not(.editing) .make-fb-usercard__iconbtn--edit,
body:not(.editing) .make-fb-usercard__iconbtn--danger {
    display: none !important;
}
.make-fb-usercard__actions {
    display: flex;
    gap: 6px;
    margin-top: 6px;
}
.make-fb-usercard__actions .btn {
    flex: 1 1 auto;
    padding: 4px 8px;
    font-size: 13px;
}
.make-fb-team-addbtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 22px;
    border-radius: 999px;
    background: var(--make-blue);
    color: #fff !important;
    font-family: var(--make-display);
    font-weight: 700;
    text-decoration: none !important;
    margin-bottom: 16px;
}
.make-fb-team-addbtn:hover {
    background: var(--make-ink);
    color: #fff !important;
}

/* ------------------------------------------------------- cards & blocks */
.card,
.block,
.block_myoverview .card,
.dashboard-card,
.course-content .section {
    background-color: var(--make-paper) !important;
    border: 1.5px solid rgba(31, 37, 43, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}
.card,
.dashboard-card {
    overflow: hidden !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease !important;
}
.card:hover,
.dashboard-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 22px 44px -28px rgba(31, 37, 43, 0.5) !important;
    border-color: rgba(31, 37, 43, 0.22) !important;
}
.card-img-top,
.courseimage,
.dashboard-card-img {
    border-radius: 18px 18px 0 0 !important;
}
.block .card-title,
.block h3,
.block h5 {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
}

/* ----------------------------------------------------------- nav drawer */
.drawer,
#nav-drawer,
.drawercontent {
    background-color: var(--make-paper) !important;
}
.list-group-item {
    border: none !important;
    border-radius: 11px !important;
    font-family: var(--make-display) !important;
    font-weight: 600 !important;
    color: rgba(31, 37, 43, 0.82) !important;
    background-color: transparent !important;
}
.list-group-item:hover {
    background-color: rgba(31, 37, 43, 0.05) !important;
    color: var(--make-ink) !important;
}
.list-group-item.active {
    background-color: rgba(20, 57, 245, 0.10) !important;
    color: var(--make-blue) !important;
    box-shadow: inset 3px 0 0 var(--make-blue) !important;
    font-weight: 700 !important;
    border-color: transparent !important;
}

/* --------------------------------------------------- badges & progress */
.badge {
    border-radius: 999px !important;
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
}
.badge.bg-primary,
.badge.badge-primary {
    background-color: var(--make-blue) !important;
}
.progress {
    border-radius: 999px !important;
    background-color: rgba(31, 37, 43, 0.1) !important;
    height: 0.6rem !important;
}
.progress-bar {
    background-color: var(--make-blue) !important;
}

/* ----------------------------------------------------------- breadcrumb */
/* Hidden site-wide: redundant with the left nav drawer, which already
   shows drill-down location (Management/Teams/My courses/etc). */
.breadcrumb {
    display: none !important;
}

/* Resource (PDF/file) pages: hide the auto-generated file-type label
   Moodle shows above the embedded viewer (e.g. "PDF") — redundant once
   the real viewer has loaded. Confirmed real DOM: <p class="resourcedetails">. */
.resourcedetails {
    display: none !important;
}

/* ----------------------------------------------------- welcome overlay */
/* Post-login splash on the dashboard: shows once per session, then
   fades/scales away to reveal the real (already-rendered) dashboard. */
@keyframes make-welcome-shrinkUp { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1.06); } }
@keyframes make-welcome-popIn { from { opacity: 0; transform: scale(0.7); } to { opacity: 1; transform: scale(1); } }
@keyframes make-welcome-riseIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes make-welcome-lineGrow { from { width: 0; } to { width: 64px; } }
.make-welcome-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    background: var(--make-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    animation: make-welcome-shrinkUp 0.6s ease forwards;
    animation-delay: 3.8s;
}
.make-welcome-overlay.is-leaving {
    animation: none;
    opacity: 0;
    transform: scale(1.06);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.make-welcome-overlay__texture {
    position: absolute;
    top: -60%;
    left: -60%;
    width: 220%;
    height: 220%;
    opacity: 0.15;
    filter: brightness(0) invert(1);
}
.make-welcome-overlay__content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center;
    padding: 0 24px;
}
.make-welcome-overlay__mark {
    height: 30px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0;
    animation: make-welcome-popIn 0.4s cubic-bezier(.34,1.56,.64,1) forwards;
    animation-delay: 0.15s;
}
.make-welcome-overlay__title {
    font-family: var(--make-display);
    font-size: clamp(32px, 6vw, 56px);
    font-weight: 800 !important;
    margin: 0;
    color: var(--make-cream);
    line-height: 1.08;
    opacity: 0;
    animation: make-welcome-riseIn 0.5s cubic-bezier(.2,.8,.2,1) forwards;
    animation-delay: 0.5s;
}
.make-welcome-overlay__lead {
    letter-spacing: 0;
}
.make-welcome-overlay__title span.make-welcome-overlay__name {
    color: #43e7f9;
    font-family: var(--make-script);
    font-weight: 400 !important;
    font-style: normal;
    font-size: 1.6em;
}
.make-welcome-overlay__line {
    height: 4px;
    width: 0;
    background: #ff27e1;
    border-radius: 99px;
    animation: make-welcome-lineGrow 0.5s ease forwards;
    animation-delay: 1.15s;
}
.make-welcome-overlay__sub {
    font-family: var(--make-display);
    font-size: 18px;
    color: rgba(250, 241, 230, 0.65);
    margin: 0;
    opacity: 0;
    animation: make-welcome-riseIn 0.5s ease forwards;
    animation-delay: 1.35s;
}

/* ------------------------------------------------------ course content */
.activity-item {
    border-radius: 14px !important;
    background-color: var(--make-paper) !important;
}
.course-content .sectionname,
.course-content h3 {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
}

/* ---------------------------------------------------------------- forms */
.form-control,
.custom-select,
select.form-control {
    border-radius: 12px !important;
    border-color: rgba(31, 37, 43, 0.18) !important;
}
.form-control:focus {
    border-color: var(--make-blue) !important;
    box-shadow: 0 0 0 3px rgba(20, 57, 245, 0.15) !important;
}

/* =====================================================================
   Optional hero banner: give an HTML block the class "make-hero".
   ===================================================================== */
.make-hero {
    background-color: var(--make-blue) !important;
    color: var(--make-cream) !important;
    border-radius: 24px !important;
    padding: 40px 42px !important;
}
.make-hero h1,
.make-hero h2,
.make-hero h3 {
    color: var(--make-cream) !important;
}
.make-hero .pill {
    display: inline-block !important;
    border: 1.5px solid currentColor !important;
    border-radius: 999px !important;
    padding: 8px 16px !important;
    margin: 4px 6px 0 0 !important;
    font-family: var(--make-display) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}


/* ------------------------------------------------- navbar text fixes (0.1.5)
   Elements in the navbar that aren't .nav-link kept their dark colour and
   became invisible on the dark bar (e.g. the "Edit mode" label). */
nav.navbar,
nav.navbar span,
nav.navbar label,
nav.navbar .navbar-text,
nav.navbar .form-check-label,
nav.navbar .custom-control-label,
nav.navbar .dropdown-toggle {
    color: rgba(250, 241, 230, 0.92) !important;
}
/* Dropdown panels are on cream, not on the dark bar — keep them readable. */
nav.navbar .dropdown-menu,
nav.navbar .dropdown-menu * {
    color: var(--make-ink) !important;
}
nav.navbar .dropdown-menu {
    background-color: var(--make-paper) !important;
    border: 1.5px solid rgba(31, 37, 43, 0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 40px -14px rgba(0, 0, 0, 0.35) !important;
    padding: 6px !important;
    margin-top: 8px !important;
    overflow: hidden !important;
    animation: make-dropdown-in 0.16s cubic-bezier(.22,1,.36,1) !important;
}
@keyframes make-dropdown-in {
    from { opacity: 0; transform: translateY(-6px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
nav.navbar .dropdown-item,
nav.navbar .dropdown-menu a {
    border-radius: 8px !important;
    padding: 9px 12px !important;
    font-family: var(--make-display) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
}
nav.navbar .dropdown-item:hover,
nav.navbar .dropdown-menu a:hover {
    background-color: rgba(31, 37, 43, 0.06) !important;
}
nav.navbar .dropdown-divider {
    margin: 4px 6px !important;
    border-color: rgba(31, 37, 43, 0.1) !important;
}

/* Avatar chip: lighter than a full button. */
nav.navbar .usermenu .btn,
nav.navbar .action-menu-trigger .btn {
    padding-left: 0.35rem !important;
    padding-right: 0.6rem !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
}


/* ---------------------------------------------- title colours (0.1.6)
   Course titles, section names and activity names read as headings, not
   as links — ink by default, brand blue on hover. */
.sectionname,
.sectionname a,
.course-section-header a,
.activity-item .activityname a,
.course-content a.aalink,
.coursename a,
.multiline,
.dashboard-card .card-body a,
.block_myoverview .card-body a {
    color: var(--make-ink);
}
.sectionname a:hover,
.course-section-header a:hover,
.activity-item .activityname a:hover,
.course-content a.aalink:hover,
.coursename a:hover,
.dashboard-card .card-body a:hover,
.block_myoverview .card-body a:hover {
    color: var(--make-blue);
}

/* Headings default to ink on normal (light) page backgrounds only. */
body h1, body h2, body h3, body h4, body h5, body h6 {
    color: var(--make-ink);
}
/* …but never inside a coloured panel (login promo, hero, dark cards). */
.make-hero h1, .make-hero h2, .make-hero h3,
.bg-primary h1, .bg-primary h2, .bg-primary h3,
.text-white h1, .text-white h2, .text-white h3,
.text-white, .bg-primary {
    color: inherit;
}



/* =====================================================================
   0.3.0 — MAKE hero (placed into the content column by javascript/hero.js)
   Ships hidden so it never flashes at the page top before placement.
   ===================================================================== */
.make-hero-strip {
    display: none !important;
}
.make-hero-strip.make-hero-strip--placed {
    display: block !important;
    position: relative !important;
    background-color: #bccdf0 !important;
    color: var(--make-ink) !important;
    border-radius: 24px !important;
    margin: 0 0 28px 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
/* Photo variant needs the squiggle to poke up past the photo/text seam,
   which the card's own overflow:hidden (for its rounded corners) clips.
   Undo it here and let the photo band's own overflow:hidden do the corner
   clipping instead — the squiggle sits in the text half so it's unaffected. */
.make-hero-strip--has-photo.make-hero-strip--placed {
    overflow: visible !important;
}
.make-hero-strip--full.make-hero-strip--placed {
    padding: 38px 40px !important;
}
.make-hero-strip--has-photo.make-hero-strip--full.make-hero-strip--placed {
    padding: 0 !important;
}
.make-hero-strip--compact.make-hero-strip--placed {
    padding: 22px 26px !important;
    border-radius: 20px !important;
    margin-bottom: 22px !important;
}
.make-hero-strip__text {
    max-width: 660px !important;
}
.make-hero-strip__eyebrow {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
    opacity: 0.82 !important;
    margin: 0 0 12px 0 !important;
    color: inherit !important;
}
.make-hero-strip__title {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.03em !important;
    margin: 0 !important;
    color: inherit !important;
}
.make-hero-strip--full .make-hero-strip__title {
    font-size: clamp(30px, 3.4vw, 44px) !important;
}
.make-hero-strip--compact .make-hero-strip__title {
    font-size: 26px !important;
}
.make-hero-strip__lead {
    font-family: var(--make-sans) !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    opacity: 0.92 !important;
    margin: 14px 0 0 0 !important;
    max-width: 540px !important;
    color: inherit !important;
    text-wrap: pretty;
}
.make-hero-strip__pills {
    margin-top: 22px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}
.make-hero-strip--compact .make-hero-strip__pills {
    margin-top: 16px !important;
}
.make-hero-strip__pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-family: var(--make-sans);
    font-weight: 600;
    font-size: 13.5px;
    padding: 9px 18px;
    border-radius: 999px;
    cursor: default;
}
.make-hero-strip__pill strong {
    font-family: var(--make-display);
    font-weight: 800;
}
.make-hero-strip__pill-wrap {
    position: relative;
    display: inline-block;
}
.make-hero-strip__pill-card {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 3000;
    min-width: 220px;
    max-width: 320px;
    background-color: var(--make-paper);
    color: var(--make-ink);
    border-radius: 14px;
    box-shadow: 0 20px 40px -18px rgba(31, 37, 43, 0.5);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    /* visibility waits for the fade-out to finish, so closing animates too */
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
    pointer-events: none;
}
.make-hero-strip__pill-card--open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
}
.make-hero-strip__pill-card-head {
    display: block;
    height: 6px;
}
.make-hero-strip__pill-card ul {
    list-style: none;
    margin: 0;
    padding: 6px;
    max-height: 220px;
    overflow-y: auto;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    pointer-events: auto;
}
.make-hero-strip__pill-card li {
    font-family: var(--make-sans);
    font-size: 13.5px;
    font-weight: 600;
    padding: 8px 10px;
    border-radius: 9px;
}
.make-hero-strip__pill-card li:hover {
    background-color: rgba(31, 37, 43, 0.06);
}

/* =====================================================================
   0.9.32 — Calendar day-with-event: the day number gets a stroke-ring
   circle colored by the event's course category (JS sets the color via
   --make-course-dot; falls back to plain ink if unknown), instead of
   core's plain filled dot. "Today" keeps its own filled-circle style.
   ===================================================================== */
.block_calendar_month .calendartable td .day-number-circle.make-day-hasevent {
    border: 2px solid var(--make-course-dot, var(--make-ink)) !important;
    background-color: transparent !important;
    box-sizing: border-box !important;
}
.block_calendar_month .calendar-circle {
    display: none !important;
}
.block_calendar_month .calendartable td .day-number {
    display: block !important;
    transform: translateY(1.5px) !important;
}
.make-hero-strip__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 22px !important;
}
.make-hero-strip--compact .make-hero-strip__actions {
    margin-top: 16px !important;
}
.make-hero-strip__btn {
    display: inline-flex !important;
    align-items: center !important;
    border: 1.5px solid rgba(31, 37, 43, 0.25) !important;
    border-radius: 999px !important;
    padding: 10px 20px !important;
    font-family: var(--make-display) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    color: var(--make-ink) !important;
}
.make-hero-strip__btn:hover {
    background-color: rgba(31, 37, 43, 0.06) !important;
    color: var(--make-ink) !important;
}
.make-hero-strip__btn--solid {
    background-color: var(--make-blue) !important;
    border-color: var(--make-blue) !important;
    color: var(--make-cream) !important;
    font-weight: 700 !important;
}
.make-hero-strip__btn--solid:hover {
    background-color: var(--make-blue-dark) !important;
    color: var(--make-cream) !important;
}
@media (max-width: 767px) {
    .make-hero-strip--full.make-hero-strip--placed {
        padding: 24px 22px !important;
    }
    .make-hero-strip__lead {
        font-size: 16px !important;
    }
}

/* -------------------------------------------------- course card refinement */
.block_myoverview .card-body,
.dashboard-card .card-body {
    padding: 16px 18px 18px !important;
}
/* Category line under the title reads as a quiet label. */
.block_myoverview .card-body .text-muted,
.dashboard-card .card-body .text-muted,
.course-info-container .categoryname {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(31, 37, 43, 0.5) !important;
}
.block_myoverview .card-body .multiline,
.dashboard-card .card-body .multiline {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    text-wrap: pretty;
}
/* Progress footer */
.block_myoverview .progress,
.dashboard-card .progress {
    height: 8px !important;
    border-radius: 999px !important;
}
.block_myoverview .card-footer,
.dashboard-card .card-footer {
    background-color: transparent !important;
    border-top: 1px solid rgba(31, 37, 43, 0.1) !important;
}

/* ------------------------------------------- calendar & timeline blocks */
.block_calendar_month .calendartable,
.block_calendar_month table {
    font-family: var(--make-display) !important;
}
.block_calendar_month .calendartable th {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
    color: rgba(31, 37, 43, 0.45) !important;
    border: none !important;
}
.block_calendar_month .calendartable td {
    border: none !important;
    font-weight: 600 !important;
    height: 24px !important;
}
.block_calendar_month .calendartable td .day-number-circle,
.block_calendar_month .calendartable td > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    border-radius: 50% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.block_calendar_month .calendartable td.today,
.block_calendar_month .today {
    background-color: transparent !important;
    box-shadow: none !important;
    font-weight: 800 !important;
}
.block_calendar_month .calendartable td.today a,
.block_calendar_month .calendartable td.today .day-number-circle {
    color: var(--make-cream) !important;
}
.block_calendar_month .calendartable td:hover {
    background-color: rgba(31, 37, 43, 0.05) !important;
    border-radius: 50% !important;
}
.block_calendar_month .calendartable td.today .day-number-circle,
.block_calendar_month .calendartable td.today > a {
    background-color: var(--make-blue) !important;
}
.block_timeline .list-group-item,
.block_timeline .event-name-container {
    border-radius: 12px !important;
}
.block_timeline .timeline-activity-title,
.block_timeline .event-name a {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
}
.block_timeline .timeline-date,
.block_timeline .text-muted {
    font-size: 12.5px !important;
    color: rgba(31, 37, 43, 0.6) !important;
}
.block_timeline .icon,
.block_calendar_month .icon {
    color: var(--make-blue) !important;
}


/* =====================================================================
   0.3.1 — block drawer / sidebar polish
   ===================================================================== */
[data-region="blocks-column"] .block,
.drawercontent .block {
    margin-bottom: 20px !important;
    padding: 4px 4px 8px !important;
}
[data-region="blocks-column"] .block .card-body,
.drawercontent .block .card-body {
    padding: 18px 20px 20px !important;
}
.block h2,
.block h3,
.block h4,
.block .card-title,
.block .block_action + h5,
.block [data-region="header"] h5 {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 17px !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 14px !important;
}

/* Calendar block ---------------------------------------------------- */
.block_calendar_month .calendar-controls .current,
.block_calendar_month h3.current {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: -0.01em !important;
}
.block_calendar_month .calendar-controls .arrow_text {
    display: none !important;
}
.block_calendar_month .calendartable {
    border-spacing: 0 !important;
    border-collapse: collapse !important;
}
.block_calendar_month .calendartable td,
.block_calendar_month .calendartable th {
    padding: 1px !important;
    font-size: 11.5px !important;
    text-align: center !important;
}
.block_calendar_month .calendartable td a {
    color: var(--make-ink) !important;
}
.block_calendar_month .calendartable td a:hover {
    color: var(--make-blue) !important;
}
/* Footer links are collapsed into a single three-dot menu button by
   hero.js (buildCalendarMenu). The original links stay in the DOM (screen
   readers / no-JS) but visually hidden; the generated menu owns the look. */
.block_calendar_month .footer,
.block_calendar_month .bottom {
    display: none !important;
}
/* The generic .card rule clips overflow for rounded corners, which also
   clipped this dropdown since it lives inside the calendar block's card. */
.block_calendar_month.card,
.block_calendar_month .card {
    overflow: visible !important;
}
.make-calendar-menu {
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-top: 6px;
}
.make-calendar-menu__btn {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border: 1.5px solid rgba(31, 37, 43, 0.2);
    border-radius: 999px;
    background: transparent;
    color: var(--make-ink);
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 1px;
}
.make-calendar-menu__btn:hover {
    border-color: var(--make-blue);
    color: var(--make-blue);
    background-color: rgba(20, 57, 245, 0.06);
}
.make-calendar-menu__list {
    position: fixed;
    min-width: 190px;
    background-color: var(--make-paper);
    border: 1.5px solid rgba(31, 37, 43, 0.12);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(31, 37, 43, 0.14);
    padding: 6px;
    display: none;
    flex-direction: column;
    gap: 2px;
    z-index: 3000;
}
.make-calendar-menu__list.make-calendar-menu__list--open {
    display: flex;
    animation: make-dropdown-in 0.16s cubic-bezier(.22,1,.36,1);
}
.make-calendar-menu__list a {
    display: block;
    padding: 8px 10px;
    border-radius: 8px;
    font-family: var(--make-sans);
    font-weight: 600;
    font-size: 13px;
    color: var(--make-ink) !important;
    text-decoration: none !important;
}
.make-calendar-menu__list a:hover {
    background-color: rgba(20, 57, 245, 0.08);
    color: var(--make-blue) !important;
}
.block_calendar_month .footer a,
.block_calendar_month .bottom a {
    color: var(--make-blue) !important;
    text-decoration: none !important;
}
.block_calendar_month .footer a:hover,
.block_calendar_month .bottom a:hover {
    text-decoration: underline !important;
}

/* Timeline block ---------------------------------------------------- */
.block_timeline .btn,
.block_timeline .dropdown-toggle {
    font-size: 13px !important;
    padding: 6px 14px !important;
}
.block_timeline .form-control,
.block_timeline input[type="text"] {
    font-size: 13px !important;
    border-radius: 999px !important;
    padding: 7px 14px !important;
}
/* Empty state: shrink the stock illustration, quiet the caption */
.block_timeline img,
.block_timeline .empty-placeholder-image-lg {
    max-width: 64px !important;
    opacity: 0.35 !important;
}
.block_timeline .text-center p,
.block_timeline [data-region="empty-message"] {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: rgba(31, 37, 43, 0.5) !important;
    margin-top: 10px !important;
}


/* =====================================================================
   0.3.2 — Phase 3: hero graphic + calendar chrome
   ===================================================================== */

/* Squiggle bleeding out of the hero's top-right corner. */
.make-hero-strip--full.make-hero-strip--placed::after {
    content: "" !important;
    position: absolute !important;
    top: -34px !important;
    right: -60px !important;
    width: min(520px, 58%) !important;
    aspect-ratio: 1285 / 432 !important;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1285.8 432.45'%3E%3Cpath d='M29.54,6.74C21.24,27.28,16.8,51,18.28,78.2c8.31,152.89,185.49,231.86,392,223.15,46.67-2,232.55,9.69,273.21-84,29.37-75.45-71.42-110-114-54.72C548.19,187.38,523.42,272,660.77,337c0,0,263.59,156.84,618.73,24.05' fill='none' stroke='%231439f5' stroke-width='30' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    opacity: 1 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
.make-hero-strip__text {
    position: relative !important;
    z-index: 1 !important;
}
.make-hero-strip__photo {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 8.5;
    max-height: 440px;
    overflow: hidden;
    border-radius: 24px;
}
.make-hero-strip__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.make-hero-strip__photo-edit {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(31, 37, 43, 0.55);
    color: #fff;
    text-decoration: none;
    z-index: 3;
}
.make-hero-strip__photo-edit:hover {
    background: rgba(31, 37, 43, 0.8);
}
/* Photo is site-wide and admin-only; its edit button only appears in edit mode. */
body:not(.editing) .make-hero-strip__photo-edit {
    display: none !important;
}
/* Hero photo editor (edit mode, admins): bottom-edge resize grip + drag-to-reframe. */
.make-hero-strip__resize, .make-hero-strip__edithint, .make-hero-strip__reset { display: none; }
body.editing .make-hero-strip__photo img { cursor: ns-resize; cursor: grab; touch-action: none; user-select: none; }
body.editing .make-hero-strip__photo.is-dragging img { cursor: grabbing; }
body.editing .make-hero-strip__photo { outline: 2px dashed rgba(20,57,245,.55); outline-offset: -2px; }
body.editing .make-hero-strip__resize {
    display: block; position: absolute; left: 0; right: 0; bottom: 0; height: 16px; cursor: ns-resize; z-index: 4; touch-action: none;
    background: linear-gradient(to top, rgba(31,37,43,.35), rgba(31,37,43,0));
}
body.editing .make-hero-strip__resize::after {
    content: ""; position: absolute; left: 50%; bottom: 5px; width: 44px; height: 4px; margin-left: -22px; border-radius: 4px; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.35);
}
body.editing .make-hero-strip__photo.is-resizing { transition: none; }
body.editing .make-hero-strip__edithint {
    display: block; position: absolute; left: 12px; top: 12px; z-index: 4; pointer-events: none;
    background: rgba(31,37,43,.7); color: #fff; font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 999px;
}
body.editing .make-hero-strip__reset {
    display: block; position: absolute; right: 50px; top: 12px; z-index: 4; border: 0; cursor: pointer;
    background: rgba(31,37,43,.7); color: #fff; font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px;
}
body.editing .make-hero-strip__reset:hover { background: rgba(31,37,43,.9); }
body:not(.editing) .make-editonly {
    display: none !important;
}
/* No flash of the un-themed / half-built page: hold the page invisible (layout kept)
   until hero.js has built the nav, relocated cards and applied settings, then it adds
   body.make-ready. Failsafe: reveals itself after 1.2s even if a script errors. */
body:not(.make-ready) #page-wrapper {
    visibility: hidden;
    animation: make-reveal-failsafe 0s linear 1.2s forwards;
}
@keyframes make-reveal-failsafe {
    to { visibility: visible; }
}

/* ===================== MOTION LAYER (v0.17.68) =====================
   One consistent motion language: things that appear rise + fade in, things
   you can press respond on hover/press, panels open from where they're anchored.
   Opacity/transform only on leaf elements (never on #page / #region-main — a
   transform there breaks position:fixed descendants). All of it switches off
   for people who ask their OS for reduced motion. */
:root {
    --make-ease: cubic-bezier(.22, 1, .36, 1);
    --make-ease-in-out: cubic-bezier(.65, 0, .35, 1);
    --make-dur-fast: .14s;
    --make-dur: .22s;
    --make-dur-slow: .42s;
}
@keyframes make-rise-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes make-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes make-pop-in { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }

/* Page arrival: the content fades in the moment the page is ready. */
body.make-ready #page-wrapper { animation: make-fade-in var(--make-dur) ease backwards; }

/* Cards and rows arrive with a short staggered rise. */
body.make-ready .make-fb-usercard,
body.make-ready .make-category-overview__card,
body.make-ready .make-subcat-card,
body.make-ready .make-course-card,
body.make-ready .make-continue-course,
body.make-ready .make-hero-strip--placed,
body.make-ready .make-customizer__card {
    animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards;
}
/* v0.20.22: stagger index --i is set by initMotionKit() in hero.js (one step per card, capped at 12). */
body.make-ready :is(.make-fb-usercard, .make-category-overview__card, .make-subcat-card, .make-course-card, .make-customizer__card) { animation-delay: calc(min(var(--i, 0), 12) * 45ms); }
body.make-ready .make-continue-course { animation-delay: .06s; }

/* Pressables: buttons, pills, chips, nav links — smooth colour changes + a tiny press. */
.btn, .make-fb-cs-chip, .make-perms__chip span, .make-naved__btn, .make-naved__icon-btn, .make-naved__iconpick,
.make-nav-drawer__link, .make-nav-drawer__sublink, .make-nav-newsletter-pill, .make-hero-strip__pill,
.make-fb-cs-pill--editable, .make-fb-teampick__opt, .make-customizer__tab, .nav-link, .dropdown-item {
    transition: background-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease),
        border-color var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease),
        transform var(--make-dur-fast) var(--make-ease), opacity var(--make-dur) var(--make-ease);
}
.btn:active, .make-fb-cs-chip:active, .make-naved__btn:active, .make-nav-newsletter-pill:active,
.make-fb-cs-pill--editable:active, .make-hero-strip__pill:active { transform: scale(.97); }

/* Cards you can open lift slightly on hover. */
.make-fb-usercard, .make-category-overview__card, .make-subcat-card, .make-continue-course__card, .make-course-card {
    transition: transform var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease), background-color var(--make-dur) var(--make-ease);
}
a.make-fb-usercard:hover, .make-fb-usercard:has(> a):hover, .make-fb-usercard--info:hover,
.make-category-overview__card:hover, .make-continue-course__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -18px rgba(31, 37, 43, .45);
}

/* Fields: the focus ring eases in instead of snapping. */
input, select, textarea, .form-control, .form-select, .make-fb-teampick__summary {
    transition: border-color var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease), background-color var(--make-dur) var(--make-ease);
}

/* Checkboxes/radios tick with a little pop. */
input[type=checkbox]:checked, input[type=radio]:checked { animation: make-pop-in var(--make-dur-fast) var(--make-ease); }

/* Dropdown panels (our pickers, sub-role picker, icon picker, Moodle menus) open from their anchor. */
.make-fb-teampick[open] > .make-fb-teampick__panel,
.make-fb-cs-subpick__panel,
.make-naved__icons,
.dropdown-menu.show,
.popover-region-container {
    animation: make-pop-in var(--make-dur) var(--make-ease) both;
    transform-origin: top left;
}
.make-fb-teampick__panel--up { transform-origin: bottom left; }

/* Chevron on pickers rotates when open. */
.make-fb-teampick > summary { transition: box-shadow var(--make-dur) var(--make-ease), border-color var(--make-dur) var(--make-ease); }

/* Team-leader switching on cycle start: the new pane slides in. */
.make-fb-cs-pane:not([style*="display: none"]) { animation: make-rise-in var(--make-dur) var(--make-ease) backwards; }

/* Info panels and toggles that reveal content. */
.make-course-card__desc--open, .make-fb-usercard__info { transition: opacity var(--make-dur) var(--make-ease), transform var(--make-dur) var(--make-ease); }

/* Toasts / Moodle notifications slide in. */
.alert, .toast { animation: make-rise-in var(--make-dur) var(--make-ease) backwards; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-delay: 0s !important;
        transition-duration: .001ms !important;
    }
}
.make-continue-course__card, .make-continue-course__card:hover, .make-continue-course__card:hover * { text-decoration: none !important; }
/* Exit animations: played by window.makeAnimateOut()/makeCloseDetails() in hero.js
   before a panel is hidden or removed, so things close the way they opened. */
@keyframes make-pop-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-4px) scale(.98); } }
.make-closing,
.make-fb-teampick[open] > .make-fb-teampick__panel.make-closing {
    animation: make-pop-out .16s var(--make-ease-in-out) forwards !important;
    pointer-events: none !important;
}
/* ---- v0.20.22 MOTION KIT — the client-tabs experiment's vocabulary, applied site-wide ----
   Sliding tab underline, panels that replay their entrance, bars that grow, numbers that count up,
   rows that follow one another. Wired by initMotionKit() in hero.js. Reduced motion handled above. */
@keyframes make-grow-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes make-pop { 0% { transform: scale(0); } 70% { transform: scale(1.2); } 100% { transform: scale(1); } }
.make-customizer__tabs.make-has-ink { position: relative; }
.make-customizer__tabs.make-has-ink .make-customizer__tab.is-active { border-bottom-color: transparent; }
.make-tabs-ink { position: absolute; left: 0; bottom: -1px; height: 2px; width: 0; border-radius: 2px; background: var(--make-blue); pointer-events: none; transition: transform .34s var(--make-ease), width .34s var(--make-ease); }
.make-customizer__tabpanel.is-active { animation: make-fade-in var(--make-dur) ease backwards; }
/* Progress bars grow in after their card lands. */
body.make-ready .make-subcat-card__progress-fill,
body.make-ready .block_myoverview .make-course-card .progress-bar {
    transform-origin: left; animation: make-grow-x .8s var(--make-ease) backwards;
    animation-delay: calc(min(var(--i, 0), 12) * 45ms + .22s);
}
/* Hero stat pills pop in one after another (numbers count up via JS). */
body.make-ready .make-hero-strip__pill-wrap { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 12) * 50ms + .12s); }
/* Table rows follow one another. */
body.make-ready #region-main table.generaltable > tbody > tr,
body.make-ready #region-main table.make-fb-table > tbody > tr { animation: make-rise-in var(--make-dur) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 20) * 25ms); }
/* Page title settles in. */
body.make-ready #page-header h1 { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; }
/* Card grids that come back into view (e.g. after closing a panel) replay. */
.make-motion-replay > * { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 12) * 45ms); }
/* =================== END MOTION LAYER =================== */
.make-hidden-dup { display: none !important; }
/* File activities: the intro box only holds Moodle's file-type line ("PDF") — drop it. */
#region-main .activity-description:has(> .resourcedetails:only-child),
#region-main #intro:has(> .resourcedetails:only-child) { display: none !important; }
/* Pill-shaped text fields and dropdowns site-wide, matching the pill buttons.
   Multi-line textareas get a softer rounded rectangle instead (a pill would clip text). */
input.form-control:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),
select.form-select, select.custom-select, select.form-control,
input[type=text], input[type=email], input[type=password], input[type=number], input[type=search],
input[type=url], input[type=tel], input[type=date], input[type=datetime-local], input[type=time],
.make-fb-teampick__summary {
    border-radius: 999px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
}
select.form-select, select.custom-select, .make-fb-teampick__summary {
    padding-right: 36px !important;
    background-position: right 14px center !important;
}
textarea, textarea.form-control {
    border-radius: 18px !important;
    padding: 12px 16px !important;
}
/* Module (category) pages: no page title, no Category/Settings/Upload/More pills, no divider —
   the colored section bars carry the page. Admin pills come back in edit mode. */
body.pagelayout-coursecategory:not(.editing) #page-header,
body.pagelayout-coursecategory:not(.editing) .secondary-navigation,
body.pagelayout-coursecategory:not(.editing) .make-category-divider {
    display: none !important;
}
.make-hero-strip--has-photo .make-hero-strip__text {
    max-width: none !important;
    padding: 28px 40px 34px;
    border-radius: 0 0 24px 24px;
}
.make-hero-strip--has-photo .make-hero-strip__text > *:not(.make-hero-strip__seam-squiggle) {
    max-width: 660px;
}
.make-hero-strip--has-photo .make-hero-strip__text > .make-hero-strip__pills {
    max-width: none;
}
.make-hero-strip__photo-add {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 90px;
    margin: 12px 12px 0;
    border: 1.5px dashed rgba(31, 37, 43, 0.25);
    border-radius: 16px;
    color: rgba(31, 37, 43, 0.55);
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
}
.make-hero-strip__photo-add:hover {
    border-color: rgba(31, 37, 43, 0.4);
    color: var(--make-ink);
}
/* Seam squiggle: a real element (not the top-right ::after, which is
   disabled for this variant below), anchored inside the text block so
   it stays within the card's own bounds — pokes up over the photo's
   bottom-right corner without ever crossing the card's outer edge. */
.make-hero-strip--has-photo.make-hero-strip--placed::after {
    display: none !important;
}
.make-hero-strip__seam-squiggle {
    position: absolute;
    top: -75px;
    left: auto !important;
    right: -101px !important;
    width: 440px;
    height: 149px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452.03 153.19'%3E%3Cdefs%3E%3CclipPath id='c' transform='translate(-9.35 35.45)'%3E%3Cpath d='M0,41.15H57.72l65.54,21.46h68.35V47.48l7-41.48,48.26-6s17.74,25.83,18,27.39S255,61.57,255,61.57l-19.63,7L358.3,93.39v30.26l-55.56-2.35L214,85.3l-7-6L93.52,87.65,37.7,64.17Z'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23c)'%3E%3Cpath d='M18.64-30.2a57.67,57.67,0,0,0-3.94,25C17.61,48.32,79.62,76,151.9,72.92c16.34-.7,81.39,3.39,95.63-29.4,10.28-26.41-25-38.5-39.9-19.16-7.46,8.67-16.13,38.28,31.94,61,0,0,92.26,54.9,216.56,8.42' transform='translate(-9.35 35.45)' fill='none' stroke='%231439f5' stroke-width='8' stroke-linecap='round' stroke-miterlimit='10'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 3;
}
.make-customizer__heroprev { display: block; width: 100%; max-width: 360px; aspect-ratio: 16 / 8.5; object-fit: cover; border-radius: 12px; margin-bottom: 8px; }
.make-customizer__inline { display: flex !important; align-items: center; gap: 6px; font-weight: 500 !important; margin-bottom: 10px; }
@media (max-width: 767px) {
    .make-hero-strip__seam-squiggle {
        width: 260px;
        height: 88px;
        top: -44px;
        right: -60px !important;
    }
}

/* Calendar footer links stack, one per line, no bullet separator. */
div.bottom:has(.footer-link) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(31, 37, 43, 0.1) !important;
}
.footer-link {
    display: block !important;
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
}
.footer-link::before,
.footer-link::after,
.footer-link + .footer-link::before {
    content: none !important;
    display: none !important;
}
.footer-link a {
    color: var(--make-blue) !important;
    text-decoration: none !important;
}
.footer-link a:hover {
    text-decoration: underline !important;
}

/* Calendar month arrows become round icon buttons, drawn in pure CSS so
   they never depend on an icon font/webfont being present. */
.block_calendar_month .calendar-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-bottom: 6px !important;
}
.block_calendar_month .calendar-controls .previous,
.block_calendar_month .calendar-controls .next {
    display: inline-grid !important;
    place-items: center !important;
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    border: 1.5px solid rgba(31, 37, 43, 0.2) !important;
    border-radius: 999px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none !important;
    position: relative !important;
}
.block_calendar_month .calendar-controls .previous i,
.block_calendar_month .calendar-controls .next i,
.block_calendar_month .calendar-controls .previous .icon,
.block_calendar_month .calendar-controls .next .icon {
    display: none !important;
}
.block_calendar_month .calendar-controls .previous::before,
.block_calendar_month .calendar-controls .next::before {
    content: "" !important;
    position: absolute !important;
    width: 6px !important;
    height: 6px !important;
    border: 1.6px solid var(--make-ink) !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
}
.block_calendar_month .calendar-controls .previous::before {
    left: 8px !important;
    transform: rotate(-45deg) !important;
}
.block_calendar_month .calendar-controls .next::before {
    left: 6px !important;
    transform: rotate(135deg) !important;
}
.block_calendar_month .calendar-controls .previous:hover,
.block_calendar_month .calendar-controls .next:hover {
    border-color: var(--make-blue) !important;
    background-color: rgba(20, 57, 245, 0.06) !important;
}
.block_calendar_month .calendar-controls .previous:hover::before,
.block_calendar_month .calendar-controls .next:hover::before {
    border-color: var(--make-blue) !important;
}
.block_calendar_month .calendar-controls .current {
    flex: 1 1 auto !important;
    text-align: center !important;
    margin: 0 !important;
    line-height: 22px !important;
}
.block_calendar_month .calendar-controls .current * {
    margin: 0 !important;
}


/* ------------------------------------------------------------ 0.3.3 fixes */
/* Any other link in the calendar month controls also becomes a round icon
   button (kept for markup variants), same CSS-drawn chevron approach. */
.block_calendar_month .calendar-controls > a,
.block_calendar_month .calendar-controls .arrow_link {
    display: inline-grid !important;
    place-items: center !important;
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    border: 1.5px solid rgba(31, 37, 43, 0.2) !important;
    border-radius: 999px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none !important;
    padding: 0 !important;
}
.block_calendar_month .calendar-controls > a:hover,
.block_calendar_month .calendar-controls .arrow_link:hover {
    border-color: var(--make-blue) !important;
    background-color: rgba(20, 57, 245, 0.06) !important;
}
/* Tighten the vertical rhythm the stacked footer opened up. */
div.bottom:has(.footer-link) {
    margin-top: 10px !important;
    padding-top: 12px !important;
}


/* =====================================================================
   0.3.4 — Phase 3: course overview header, view pills, card progress
   ===================================================================== */

/* "Course overview" heading matches the preview's display type. */
.block_myoverview h2,
.block_myoverview h3,
.block_myoverview .card-title,
[data-region="myoverview"] h2 {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 26px !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 16px !important;
}

/* Filter + view selectors read as cream pill chips. */
.block_myoverview .dropdown-toggle,
.block_myoverview [data-region="filter"] .btn,
.block_myoverview [data-region="courses-view"] .btn,
.block_myoverview .btn-outline-secondary,
.block_myoverview .btn-secondary {
    background-color: var(--make-card) !important;
    border: 1.5px solid rgba(31, 37, 43, 0.14) !important;
    border-radius: 999px !important;
    color: var(--make-ink) !important;
    font-family: var(--make-display) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 7px 14px !important;
    box-shadow: none !important;
}
.block_myoverview .dropdown-toggle:hover,
.block_myoverview [data-region="filter"] .btn:hover,
.block_myoverview [data-region="courses-view"] .btn:hover {
    border-color: rgba(31, 37, 43, 0.3) !important;
    background-color: #fff !important;
}
/* Group the two selectors on one row, right of the heading. */
.block_myoverview [data-region="course-view-selectors"],
.block_myoverview .d-flex.justify-content-between {
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* Card progress: thin blue pill bar, label row above it. */
.block_myoverview .progress {
    height: 8px !important;
    border-radius: 999px !important;
    background-color: rgba(31, 37, 43, 0.1) !important;
    overflow: hidden !important;
    margin-top: 6px !important;
}
.block_myoverview .progress-bar {
    background-color: var(--make-blue) !important;
    border-radius: 999px !important;
}
.block_myoverview .progress-text,
.block_myoverview [data-region="progress-text"],
.block_myoverview .small.text-muted {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    color: rgba(31, 37, 43, 0.6) !important;
}

/* Kill the drop-shadowed white panel Boost wraps the block in, so the
   cards sit directly on the cream page like the preview. */
.block_myoverview,
.block_myoverview > .card,
.block_myoverview > .card-body {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* =====================================================================
   0.3.5 — content column on cream, card surfaces
   ===================================================================== */

/* The preview has no white page panel: content sits on the cream body. */
#region-main,
#region-main-box,
[role="main"] > .card,
#region-main > .card,
#region-main > .card-body {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Course cards: cream surface, hairline border, soft lift on hover. */
.block_myoverview .card,
.block_myoverview .course-card,
.block_myoverview [data-region="course-content"] {
    background-color: var(--make-card) !important;
    border: 1.5px solid rgba(31, 37, 43, 0.12) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease !important;
}
.block_myoverview .card:hover,
.block_myoverview .course-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 22px 40px -26px rgba(31, 37, 43, 0.5) !important;
    border-color: rgba(31, 37, 43, 0.22) !important;
}

/* Card footer ("0% complete" + menu) reads as a quiet meta row. */
.block_myoverview .card-footer,
.block_myoverview .course-info-container + .card-footer {
    background-color: transparent !important;
    border-top: 1px solid rgba(31, 37, 43, 0.1) !important;
    padding: 12px 18px !important;
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    color: rgba(31, 37, 43, 0.6) !important;
}

/* Redundant with our own Continue learning/Course overview cards — hide
   Moodle's native block for every role, on every user's dashboard layout. */
.block_recentlyaccessedcourses {
    display: none !important;
}
/* Divider under the admin action buttons is noise here. */
.block_myoverview hr,
.block_myoverview .border-bottom {
    border-color: rgba(31, 37, 43, 0.1) !important;
}


/* =====================================================================
   0.3.6 — kill Boost's white content panel (#topofscroll)
   Boost 4.3+ wraps the content column in #topofscroll / .main-inner and
   paints it white with a radius; the preview has content on cream.
   ===================================================================== */
#topofscroll,
#page.drawers #topofscroll,
.main-inner,
#page-content,
#page-wrapper,
#page.drawers {
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}
/* Content stays centred within whatever width #page has, independent of
   whether the right block drawer is open or closed — cap + auto-margin on
   the shared ancestor of both #page-header and the main content column
   (not on either individually) so they re-centre together as one unit and
   never fall out of alignment with each other. */
#page-content {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
#topofscroll {
    border-radius: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body,
#page,
#page.drawers {
    background-color: var(--make-cream) !important;
}
/* Give the content column its own breathing room now the panel is gone. */
#region-main-box,
.main-inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}
/* Dashboard only: match the hero card's top offset to the left drawer's
   "MENU" label position, now that the native "Dashboard"/greeting text
   above it is hidden and the hero is the first visible thing. */
body.pagelayout-mydashboard #topofscroll,
body.pagelayout-mydashboard #page-content,
body.pagelayout-mydashboard #region-main,
body.pagelayout-mydashboard #region-main-box {
    padding-top: 0 !important;
}
body.pagelayout-mydashboard .main-inner {
    padding-top: 22px !important;
}


/* =====================================================================
   0.9.102 — My courses cards painted in their category color, styled as
   the richer sibling of the category page's .make-course/.make-subcat-card
   (same solid block + white text + thin white progress bar, more detail).
   ===================================================================== */
.block_myoverview .make-course-card {
    background-color: var(--make-card-color, var(--make-blue)) !important;
    border: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    color: #ffffff !important;
}
/* Moodle's generated course image band would fight the flat color. */
.block_myoverview .make-course-card .card-img-top,
.block_myoverview .make-course-card [data-region="course-image"],
.block_myoverview .make-course-card .courseimage {
    display: none !important;
}
.block_myoverview .make-course-card .card-body,
.block_myoverview .make-course-card .course-info-container,
.block_myoverview .make-course-card .card-footer,
.block_myoverview .make-course-card .dashboard-card-footer {
    background-color: transparent !important;
    border: 0 !important;
}
.block_myoverview .make-course-card .card-footer,
.block_myoverview .make-course-card .dashboard-card-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.28) !important;
}
.block_myoverview .make-course-card .coursename,
.block_myoverview .make-course-card .coursename a,
.block_myoverview .make-course-card .multiline,
.block_myoverview .make-course-card a {
    color: #ffffff !important;
}
.block_myoverview .make-course-card .categoryname,
.block_myoverview .make-course-card .text-muted,
.block_myoverview .make-course-card .muted,
.block_myoverview .make-course-card .progress-text,
.block_myoverview .make-course-card [data-region="progress-text"],
.block_myoverview .make-course-card .small {
    color: rgba(255, 255, 255, 0.82) !important;
}
/* Thin white progress bar, same read as the category page's cards. */
.block_myoverview .make-course-card .progress {
    background-color: rgba(255, 255, 255, 0.32) !important;
    height: 6px !important;
    border-radius: 999px !important;
}
.block_myoverview .make-course-card .progress-bar {
    background-color: #ffffff !important;
    border-radius: 999px !important;
}
/* Action menu (three dots) stays legible on the color. */
.block_myoverview .make-course-card .dropdown-toggle,
.block_myoverview .make-course-card .icon,
.block_myoverview .make-course-card .action-menu-trigger .icon {
    color: #ffffff !important;
}
.block_myoverview .make-course-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 22px 40px -24px rgba(31, 37, 43, 0.55) !important;
}
/* In-card expandable description (hero.js addCourseSummaryPanel). */
.block_myoverview .make-course-card {
    position: relative !important;
}
.block_myoverview .make-course-card .course-info-container {
    padding-right: 42px !important;
}
.block_myoverview .make-course-card__info {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    border: 1.5px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 999px !important;
    background-color: transparent !important;
    color: #ffffff !important;
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background-color .16s ease !important;
}
.block_myoverview .make-course-card__info:hover,
.block_myoverview .make-course-card__info--open {
    background-color: rgba(255, 255, 255, 0.24) !important;
}
.block_myoverview .make-course-card__desc {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 8px 0 0 !important;
    font-family: var(--make-sans) !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    text-wrap: pretty;
    transition: max-height .3s cubic-bezier(.22, 1, .36, 1), opacity .22s ease, margin-top .3s cubic-bezier(.22, 1, .36, 1) !important;
}
.block_myoverview .make-course-card__desc--open {
    max-height: 620px !important;
    opacity: 1 !important;
    margin: 6px 0 12px !important;
    overflow-y: auto !important;
}
/* Keep the title clear of the corner toggle. */
.block_myoverview .make-course-card .coursename {
    padding-right: 30px !important;
}

/* =====================================================================
   0.4.0 — Phase 4: category label above the course title
   Moodle prints the title first, then the category. Reorder visually.
   ===================================================================== */
.block_myoverview .w-100.text-truncate {
    display: flex !important;
    flex-direction: column !important;
}
.block_myoverview .text-muted.muted.d-flex {
    order: -1 !important;
    margin-bottom: 7px !important;
}
.block_myoverview .categoryname {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(31, 37, 43, 0.5) !important;
}
.block_myoverview .coursename {
    margin-bottom: 0 !important;
}


/* =====================================================================
   0.9.50 — Category browse page (course/index.php): subcategories render
   as a big colored bar (theme_make_category_card color of their top-level
   category) that expands into small course cards, replacing the stock
   expandable text list, which is hidden while our markup is active.
   ===================================================================== */
body .category-browse .courses,
body .category-browse .categories,
body #page-course-index-category .courses,
body #page-course-index-category .categories {
    /* Hidden via JS (hideOriginalCategoryList) only when .make-subcats
       actually rendered — :has() proved unreliable, keep this a no-op
       marker rule so the intent stays documented. */
}
.make-subcats {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin: 20px 0 24px !important;
    width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
}
.make-subcat-bar {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    border: 0 !important;
    border-radius: 20px !important;
    padding: 20px 26px !important;
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 24px !important;
    color: #ffffff !important;
    cursor: pointer !important;
    transition: transform .24s cubic-bezier(.22, 1, .36, 1), box-shadow .24s cubic-bezier(.22, 1, .36, 1) !important;
}
.make-subcat-bar:hover {
    transform: translateY(-4px) scale(1.008) !important;
    box-shadow: 0 20px 36px -22px rgba(31, 37, 43, 0.5) !important;
}
@keyframes make-subcat-drop-in {
    from { opacity: 0; transform: translateY(-16px); }
    to { opacity: 1; transform: translateY(0); }
}
.make-subcats .make-subcat {
    animation: make-subcat-drop-in .45s cubic-bezier(.22, 1, .36, 1) both;
}
.make-subcats .make-subcat:nth-child(1) { animation-delay: .03s; }
.make-subcats .make-subcat:nth-child(2) { animation-delay: .09s; }
.make-subcats .make-subcat:nth-child(3) { animation-delay: .15s; }
.make-subcats .make-subcat:nth-child(n+4) { animation-delay: .21s; }
.make-subcat-cards {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-top: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    transition: max-height .32s cubic-bezier(.22, 1, .36, 1), opacity .22s ease, margin-top .32s cubic-bezier(.22, 1, .36, 1), overflow 0s linear .32s !important;
}
.make-subcat.is-open .make-subcat-cards {
    max-height: 600px !important;
    opacity: 1 !important;
    margin-top: 14px !important;
    overflow: visible !important;
}
.make-subcat-card {
    flex: 1 1 220px !important;
    max-width: 320px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    border-radius: 16px !important;
    padding: 16px 20px !important;
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    opacity: 0.82 !important;
    transition: opacity .2s cubic-bezier(.22, 1, .36, 1), transform .2s cubic-bezier(.22, 1, .36, 1), box-shadow .2s ease !important;
}
.make-subcat-card__title {
    display: block !important;
}
.make-subcat-card__progress-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.make-subcat-card__progress-track {
    flex: 1 1 auto !important;
    height: 6px !important;
    border-radius: 999px !important;
    background-color: rgba(255, 255, 255, 0.32) !important;
    overflow: hidden !important;
}
.make-subcat-card__progress-fill {
    display: block !important;
    height: 100% !important;
    border-radius: 999px !important;
    background-color: #ffffff !important;
}
.make-subcat-card__progress-pct {
    font-family: var(--make-sans) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    opacity: 0.92 !important;
    white-space: nowrap !important;
}
.make-subcat-card:hover {
    opacity: 1 !important;
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 16px 28px -18px rgba(31, 37, 43, 0.5) !important;
    color: #ffffff !important;
}
/* Leaf category pages (a subcategory with no further subcategories, e.g.
   RTP - Revit Training Program) still use Moodle's stock course listing
   with an expandable description per course — hide that description. */
.category-browse .coursebox .content,
.category-browse .coursebox .summary,
#page-course-index-category .coursebox .content,
#page-course-index-category .coursebox .summary {
    display: none !important;
}

/* =====================================================================
   0.4.1 — MAKE left nav drawer (persistent, mirrors the top navbar)
   Injected by javascript/hero.js since Moodle 5.2 doesn't ship one on
   the dashboard. #page shifts right by the drawer's width to make room.
   ===================================================================== */
/* =====================================================================
   0.8.4 — course-index drawer relocated to the right (was left, colliding
   with our own nav drawer). Hidden by default; toggled via body class by
   the repurposed blocks-drawer button.
   ===================================================================== */
.make-courseindex-drawer {
    visibility: visible !important;
    position: fixed !important;
    top: 56px !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    width: 300px !important;
    height: calc(100vh - 56px) !important;
    max-height: calc(100vh - 56px) !important;
    background-color: #ffffff !important;
    border-left: 1.5px solid rgba(31, 37, 43, 0.12) !important;
    border-right: 0 !important;
    box-shadow: -8px 0 24px rgba(31, 37, 43, 0.08) !important;
    overflow-y: auto !important;
    z-index: 1020 !important;
    transform: translateX(100%) !important;
    transition: transform 0.18s ease !important;
    padding: 16px !important;
}
body.make-courseindex-open .make-courseindex-drawer {
    transform: translateX(0) !important;
}
.make-courseindex-drawer,
.make-courseindex-drawer * {
    background-color: #ffffff !important;
    color: var(--make-ink) !important;
}
.make-courseindex-drawer::-webkit-scrollbar,
.make-courseindex-drawer *::-webkit-scrollbar {
    background-color: #ffffff !important;
}
.make-courseindex-drawer *:focus,
.make-courseindex-drawer *:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}
body.make-courseindex-open #page {
    margin-right: 300px !important;
}
#region-main {
    animation: make-page-fade-in 0.12s ease;
}
@keyframes make-page-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
body.make-page-leaving {
    opacity: 0 !important;
    transition: opacity 0.07s ease !important;
}
@media (max-width: 900px) {
    .make-courseindex-drawer { display: none !important; }
    body.make-courseindex-open #page { margin-right: 0 !important; }
}
[data-target*="drawers-courseindex"] {
    display: none !important;
}
.make-nav-drawer {
    position: fixed;
    top: 56px;
    left: 0;
    bottom: 0;
    width: 250px;
    background-color: var(--make-paper, #fffaf2) !important;
    border-right: 1px solid rgba(31, 37, 43, 0.12);
    padding: 18px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow-y: auto;
    z-index: 400;
    box-sizing: border-box;
    transform: translateX(0);
    opacity: 1;
    transition: transform 0.2s cubic-bezier(.22,1,.36,1), opacity 0.16s ease;
}
.make-nav-drawer__link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 11px;
    color: rgba(31, 37, 43, 0.82);
    text-decoration: none;
    font-family: var(--make-display);
    font-weight: 600;
    font-size: 14.5px;
    transition: background-color .18s ease, color .18s ease, transform .18s cubic-bezier(.22, 1, .36, 1);
}
.make-nav-drawer__link:hover {
    background-color: rgba(31, 37, 43, 0.06);
    color: var(--make-ink);
    transform: translateX(3px);
}
.make-nav-drawer__link svg {
    transition: transform .18s cubic-bezier(.22, 1, .36, 1);
}
.make-nav-drawer__link:hover svg {
    transform: scale(1.1);
}
.make-nav-drawer__link svg {
    flex: 0 0 20px;
}
.make-nav-drawer__link--disabled {
    opacity: 0.55 !important;
    cursor: default !important;
    pointer-events: auto;
}
.make-nav-drawer__link--disabled:hover {
    background-color: transparent !important;
    transform: none !important;
}
.make-nav-drawer__link--disabled span:first-of-type {
    flex: 1 1 auto;
}
.make-nav-drawer__placeholder {
    flex: 1 1 auto;
    font-style: italic;
    color: rgba(31, 37, 43, 0.5);
}
.make-nav-drawer__badge {
    flex: 0 0 auto;
    font-family: var(--make-display);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--make-ink);
    background-color: rgba(31, 37, 43, 0.1);
    border-radius: 20px;
    padding: 3px 9px;
}
.make-nav-drawer__group {
    display: block;
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(31, 37, 43, 0.45);
    padding: 4px 12px 8px;
}
.make-nav-drawer__divider {
    height: 1px;
    background-color: rgba(31, 37, 43, 0.1);
    margin: 12px 12px;
}
.make-nav-drawer__submenu {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 8px 12px 6px 27px;
    padding-left: 12px;
    border-left: none;
    position: relative;
    animation: make-submenu-in 0.22s ease;
}
@keyframes make-submenu-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}
.make-nav-drawer__submenu::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    bottom: 7px;
    width: 2px;
    background-color: rgba(20, 57, 245, 0.3);
    z-index: 0;
}
.make-nav-drawer__sublink {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 9px;
    color: rgba(31, 37, 43, 0.72);
    text-decoration: none;
    font-family: var(--make-display);
    font-weight: 600;
    font-size: 14px;
}
.make-nav-drawer__sublink:hover {
    background-color: rgba(31, 37, 43, 0.06);
    color: var(--make-ink);
}
.make-nav-drawer__subicon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--make-blue);
    color: #fff;
}
.make-nav-drawer__sublink--active {
    color: var(--make-blue) !important;
    font-weight: 700;
}
.make-nav-drawer__sublink--nested {
    margin-left: 16px;
    font-size: 13px;
}
.make-nav-drawer__link--pill {
    margin-top: auto !important;
    background-color: var(--make-ink) !important;
    color: #fff !important;
    border-radius: 999px !important;
    justify-content: center;
    font-weight: 600;
}
.make-nav-drawer__link--pill:hover {
    background-color: var(--make-blue) !important;
    color: #fff !important;
    transform: none !important;
}
.make-nav-drawer__link--active {
    font-weight: 700 !important;
    background-color: rgba(20, 57, 245, 0.1) !important;
    color: var(--make-blue) !important;
    box-shadow: inset 3px 0 0 var(--make-blue);
}
body.make-has-drawer #page {
    margin-left: 250px !important;
}
@media (max-width: 900px) {
    .make-nav-drawer { display: none; }
    body.make-has-drawer #page { margin-left: 0 !important; }
}


/* =====================================================================
   0.4.2 — nav polish: drawer link colour, hide redundant top-bar items,
   right block-drawer forced open, left drawer collapse toggle
   ===================================================================== */
.make-nav-drawer__link,
.make-nav-drawer__link:hover,
.make-nav-drawer__link:visited,
.make-nav-drawer__link:focus {
    text-decoration: none !important;
    border: 0 !important;
}
.make-nav-drawer__link:not(.make-nav-drawer__link--active):not(.make-nav-drawer__link--pill) {
    color: var(--make-ink) !important;
    background-color: transparent !important;
    box-shadow: none !important;
}
.make-navbar-item--hidden-by-make {
    display: none !important;
}
.btn-footer-popover {
    display: none !important;
}

nav.navbar .navbar-brand {
    margin-left: 46px !important;
}
.make-nav-drawer__toggle {
    position: fixed;
    top: 12px;
    left: 14px;
    z-index: 2000;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1.5px solid rgba(250, 241, 230, 0.35);
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--make-cream);
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.make-nav-drawer__toggle:hover {
    background-color: rgba(255, 255, 255, 0.2);
}
body.make-drawer-collapsed .make-nav-drawer {
    transform: translateX(-100%);
    opacity: 0;
    pointer-events: none;
}
body.make-drawer-collapsed #page {
    margin-left: 0 !important;
}

/* =====================================================================
   0.4.39 — Topbar right-side action pills (search/messages/notifications/
   user menu/blocks toggle), matching the reference layout.
   ===================================================================== */
nav.navbar .make-topbar-icon,
nav.navbar .make-topbar-user,
nav.navbar .make-drawer-toggle {
    align-self: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}
/* Whatever wraps the profile pill + drawer toggle, force it to actually
   center them on the cross axis — align-self alone is a no-op if that
   parent isn't a flex/grid container. */
nav.navbar *:has(> .make-topbar-user) {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
nav.navbar .make-topbar-user {
    border: 0 !important;
    margin-left: 0 !important;
}
nav.navbar .make-topbar-icon {
    margin: 0 !important;
}
nav.navbar .make-topbar-icon,
nav.navbar .make-drawer-toggle.make-topbar-icon {
    height: 38px !important;
}
nav.navbar .popover-region-notifications,
nav.navbar [data-region="popover-region-messages"] {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    margin: 0 -6px 0 0 !important;
    padding: 0 !important;
}
/* The (visually hidden until opened) popover panel is a sibling INSIDE
   this wrapper — if it isn't taken out of flow it inflates the wrapper's
   box width and pushes the visible gap out past the bell icon itself. */
nav.navbar .popover-region-notifications .popover-region-container,
nav.navbar [data-region="popover-region-messages"] .popover-region-container {
    position: absolute !important;
}
nav.navbar .make-topbar-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    background-image: none !important;
    margin: 0 3px !important;
    padding: 0 !important;
    position: relative !important;
}
nav.navbar .make-topbar-icon i,
nav.navbar .make-topbar-icon .icon {
    margin: 0 !important;
    color: var(--make-cream) !important;
}
nav.navbar .make-topbar-icon:hover {
    background-color: rgba(255, 255, 255, 0.16) !important;
}
nav.navbar .make-topbar-icon .count-container {
    background-color: var(--make-magenta) !important;
    color: #fff !important;
    border-radius: 999px !important;
    position: absolute !important;
    top: -2px !important;
    right: -2px !important;
    font-size: 10px !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 1 !important;
    padding: 0 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}
nav.navbar .make-topbar-icon .count-container.hidden {
    display: none !important;
}
/* Message icon dropped entirely; keep the remaining icons evenly spaced. */
nav.navbar [data-region="popover-region-messages"] {
    display: none !important;
}
nav.navbar .make-topbar-user {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 999px !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    padding: 4px 14px 4px 4px !important;
    height: 38px !important;
    box-sizing: border-box !important;
    color: var(--make-cream) !important;
    margin-left: 6px !important;
}
nav.navbar .make-topbar-user:hover {
    background-color: rgba(255, 255, 255, 0.16) !important;
}
nav.navbar .make-topbar-user .userpicture {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
}
nav.navbar .make-username {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: var(--make-cream) !important;
}
nav.navbar .make-username-chevron {
    display: inline-flex !important;
    color: rgba(250, 241, 230, 0.6) !important;
}
/* Bootstrap's own dropdown-toggle caret would double up with our chevron. */
nav.navbar .make-topbar-user.dropdown-toggle::after {
    display: none !important;
    content: none !important;
}

/* 0.4.42 — Blocks-drawer toggle: replaced by our own button in the topbar
   pill row; Boost's native toggle (wherever/whenever it renders, incl. a
   floating "reopen" button it shows when the drawer is closed) is hidden
   via CSS so timing of hero.js's JS pass can't leave a stray one visible. */
/* Broad substring match, not just .drawertoggle — Boost renders a second,
   differently-classed floating "reopen" button for this same drawer once
   it's closed, and that button reappears live (added after our JS pass
   runs), so it must be caught by a live CSS rule, not a one-time JS hide. */
[data-target*="drawers-blocks"] {
    display: none !important;
}
nav.navbar .make-drawer-toggle {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    border: 0 !important;
    color: var(--make-cream) !important;
    cursor: pointer !important;
}
nav.navbar .make-drawer-toggle svg {
    display: block !important;
    flex-shrink: 0 !important;
}

/* 0.4.46 — The notification/message popover panels are children of the
   wrapper we relocate into nav.navbar for alignment, so they were
   inheriting the navbar's cream/white text-forcing rules. Reset them
   back to normal ink text regardless of nav.navbar ancestry. */
nav.navbar [id^="popover-region-container"] {
    color: var(--make-ink) !important;
    background-color: #fff !important;
    animation: make-dropdown-in 0.16s cubic-bezier(.22,1,.36,1);
}
nav.navbar [id^="popover-region-container"] * {
    color: inherit !important;
}
nav.navbar [id^="popover-region-container"] a,
nav.navbar [id^="popover-region-container"] .dropdown-toggle {
    color: var(--make-ink) !important;
}

/* =====================================================================
   0.4.30 — Right block drawer: always open, close button disabled.
   Multiple selector guesses because Boost's exact markup varies by
   version; harmless if a selector doesn't match anything.
   ===================================================================== */
/* Right block drawer: opened once on dashboard load via JS class add
   above (theme_boost's own #page.show-drawer-right rule handles layout —
   no CSS override needed here, and none of the toggle-hiding that broke
   other pages). Thin left border + roomier padding, matching the mockup. */
#theme_boost-drawers-blocks .drawercontent,
[data-region="drawer-right"] .drawercontent,
[id*="drawers-blocks"] .drawercontent {
    border-left: 1px solid rgba(31, 37, 43, 0.12) !important;
    padding: 26px 22px !important;
}
#theme_boost-drawers-blocks .drawerheader,
[id*="drawers-blocks"] .drawerheader {
    display: none !important;
}

/* =====================================================================
   0.9.6 — Dashboard drag-to-reorder (edit mode only): "Continue teaching/
   learning" vs "Course overview".
   ===================================================================== */
.make-draggable-section {
    position: relative;
    padding-top: 44px !important;
    border: 1.5px dashed rgba(20, 57, 245, 0.35) !important;
    border-radius: 20px !important;
}
.make-completion-settings-navitem .nav-link {
    color: var(--make-blue) !important;
}
.make-completion-settings {
    max-width: 640px !important;
    margin: 24px auto !important;
    font-family: var(--make-sans) !important;
}
.make-completion-settings__title {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    color: var(--make-ink) !important;
    margin-bottom: 8px !important;
}
.make-completion-settings__note {
    color: var(--make-ink) !important;
    opacity: 0.72 !important;
    margin-bottom: 20px !important;
}
.make-completion-row {
    border-bottom: 1px solid rgba(31, 37, 43, 0.1) !important;
}
.make-completion-row__label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 4px !important;
    cursor: pointer !important;
    margin: 0 !important;
}
.make-completion-row__toggle {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
}
.make-completion-row__icon {
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
}
.make-completion-row__name {
    flex: 1 !important;
    color: var(--make-ink) !important;
}
.make-completion-row__type {
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    opacity: 0.55 !important;
}
.make-completion-settings__save {
    margin-top: 20px !important;
    background: var(--make-blue) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 10px 22px !important;
    cursor: pointer !important;
}
.make-drag-handle {
    position: absolute;
    top: 8px;
    left: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: var(--make-ink);
    color: var(--make-cream);
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    cursor: grab;
    user-select: none;
    z-index: 5;
}
.make-drag-handle:active {
    cursor: grabbing;
}
.make-dragging {
    opacity: 0.4;
}
.make-drop-target {
    background-color: rgba(20, 57, 245, 0.06) !important;
    border-color: var(--make-blue) !important;
}
/* =====================================================================
   0.9.7 — Standalone section dividers (Continue teaching/learning, Course
   overview). Independent elements inserted by hero.js, not a border baked
   into either section's own box — stays put/paired correctly through drag
   reordering without visually merging with a section's own outline.
   ===================================================================== */
.make-section-divider {
    border-top: 1px solid var(--make-ink);
    margin: 0 0 18px 0;
}
.make-continue-course {
    display: none;
    margin: 0 0 var(--make-section-gap, 28px) 0;
}
.make-continue-course--placed {
    display: block;
}
.make-continue-course__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding: 0 0 18px;
    margin-bottom: 18px;
}
.make-continue-course__title {
    font-family: var(--make-display);
    font-weight: 800;
    font-size: 26px;
    letter-spacing: -0.02em;
    margin: 18px 0 0;
    display: flex;
    align-items: baseline;
    gap: 12px;
    color: var(--make-ink);
}
.make-continue-course__title small {
    font-family: var(--make-sans);
    font-style: italic;
    font-size: 14px;
    font-weight: 500;
    color: rgba(31, 37, 43, 0.5);
}
.make-continue-course__card {
    display: flex;
    flex-wrap: wrap;
    background-color: var(--make-paper);
    border: 1.5px solid rgba(31, 37, 43, 0.12);
    border-radius: 22px;
    overflow: hidden;
    text-decoration: none;
    color: var(--make-ink);
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}
.make-continue-course__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 44px -28px rgba(31, 37, 43, 0.5);
    border-color: rgba(31, 37, 43, 0.22);
}
.make-continue-course__media {
    position: relative;
    flex: 0 0 220px;
    min-height: 160px;
    overflow: hidden;
}
.make-continue-course__letter {
    position: absolute;
    right: -6px;
    bottom: -30px;
    font-family: var(--make-display);
    font-weight: 800;
    font-size: 150px;
    line-height: 1;
    color: rgba(31, 37, 43, 0.16);
    user-select: none;
}
.make-continue-course__body {
    flex: 1 1 320px;
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
}
.make-continue-course__eyebrow {
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 11.5px;
    letter-spacing: 0.1em;
    color: rgba(31, 37, 43, 0.5);
    margin-bottom: 8px;
}
.make-continue-course__name {
    font-family: var(--make-display);
    font-weight: 800;
    font-size: 24px;
    line-height: 1.08;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
}
.make-continue-course__desc {
    font-family: var(--make-sans);
    font-size: 14.5px;
    line-height: 1.5;
    color: rgba(31, 37, 43, 0.72);
    margin: 0 0 18px;
    max-width: 520px;
}
.make-continue-course__cta {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    background-color: var(--make-ink);
    color: var(--make-cream);
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 13.5px;
    padding: 10px 20px;
    border-radius: 999px;
}
@media (max-width: 640px) {
    .make-continue-course__media { flex-basis: 140px; min-height: 120px; }
}
/* =====================================================================
   0.4.31 — Calendar block: drop the "Calendar" title + its action menu
   and the space they left, per the compact mockup.
   ===================================================================== */
/* Belt-and-suspenders hiding is edit-mode-aware: in edit mode we need the
   block's own header/action-menu back so "Delete block" etc. is reachable
   (Moodle's core block header is the only place that lives). */
body.editing .block_calendar_month [data-region="header"] {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 4px 4px 10px !important;
}
body.editing [data-region="blocks-column"] [data-region="header"] .action-menu {
    margin-left: auto !important;
    order: 99 !important;
}
body.editing [data-region="blocks-column"] [data-region="header"] {
    display: flex !important;
    align-items: center !important;
}
body:not(.editing) .block_calendar_month [data-region="header"],
body:not(.editing) .block_calendar_month .block-controls,
body:not(.editing) .block_calendar_month .action-menu,
body:not(.editing) .block_calendar_month > h2,
body:not(.editing) .block_calendar_month > h3,
body:not(.editing) .block_calendar_month > h4,
body:not(.editing) .block_calendar_month > h5,
body:not(.editing) .block_calendar_month .block-title,
body:not(.editing) .block_calendar_month > .card > h2,
body:not(.editing) .block_calendar_month > .card > h3,
body:not(.editing) .block_calendar_month > .card > h4,
body:not(.editing) .block_calendar_month > .card > h5 {
    display: none !important;
}
/* Native Moodle block action menu (the "Delete block" home): in edit mode,
   the same drawer scroll-container clipping that hid the calendar's custom
   three-dot menu also clips this dropdown for EVERY block, not just
   Calendar — make every block's card + the drawer itself overflow:visible,
   and force the dropdown above the drawer's own stacking context. */
body.editing [data-region="blocks-column"] .card,
body.editing [data-region="blocks-column"] [data-block],
body.editing [data-region="blocks-column"] {
    overflow: visible !important;
}
body.editing [data-region="blocks-column"] .action-menu .dropdown-menu {
    z-index: 3000 !important;
}
[data-region="blocks-column"] .block_calendar_month,
.drawercontent .block_calendar_month {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
[data-region="blocks-column"] .block_calendar_month .card-body,
.drawercontent .block_calendar_month .card-body {
    padding-top: 4px !important;
    padding-bottom: 12px !important;
}


/* =====================================================================
   0.4.8 — Phase 5: course secondary-nav as brand pills, drawer "where
   am I" state for course pages
   ===================================================================== */
/* Broadened: whatever wraps them, Moodle's own tab row is the only
   `.nav-tabs` on a course page, so no ancestor scoping needed. Kills the
   white bar Bootstrap paints under/around the tabs too. */
.nav-tabs {
    background-color: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 10px 0 20px !important;
    padding: 0 !important;
}
.nav-tabs .nav-item:first-child .nav-link {
    margin-left: 8px !important;
}
.nav-tabs .nav-item {
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
}
.nav-tabs .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background-color: transparent !important;
    border: 1.5px solid var(--make-blue) !important;
    border-radius: 999px !important;
    color: var(--make-blue) !important;
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    padding: 6px 14px !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.nav-tabs .nav-link svg {
    flex: 0 0 auto;
    width: 13px !important;
    height: 13px !important;
}
.nav-tabs .nav-link:hover {
    background-color: rgba(20, 57, 245, 0.08) !important;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-link[aria-current="page"] {
    background-color: var(--make-blue) !important;
    color: #fff !important;
}
.secondary-navigation,
.tertiary-navigation {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
/* Boost's "moremenu" wrapper carries the white bar and forces a fixed
   scroll-snap height that was stretching our pills to 60px tall. */
nav.moremenu {
    background-color: transparent !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 4px 0 !important;
}
.nav-tabs .nav-item,
.nav-tabs .nav-link {
    height: auto !important;
    align-self: flex-start !important;
}

/* Title/tabs line up with the section cards. #page-header and the tabs'
   own .moremenu wrapper each carry their own horizontal padding ON TOP
   of .main-inner's 24px gutter — that stacking was the extra indent. */
/* #page-header sits as a sibling of the content column, not a descendant,
   so it needs its OWN matching inset — measured via devtools to be 39px on
   standard-layout pages (region-main-box's 24px padding + ~15px from an
   inner wrapper). On COURSE pages specifically, course-content already
   provides that inset itself (see .course-content rule below), so adding
   the same 39px there would double it — hence the split by pagelayout. */
body:not(.pagelayout-course) #page-header,
body:not(.pagelayout-course) .secondary-navigation {
    padding-left: 39px !important;
    padding-right: 39px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.pagelayout-course #page-header,
body.pagelayout-course .secondary-navigation {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
nav.moremenu {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
#page-header.header-maxwidth {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
#page-header .page-header-headings,
#page-header h1,
#page-header .page-context-header {
    margin-left: 0 !important;
    padding-left: 0 !important;
}
/* Dashboard page: native "Dashboard" heading is redundant with our own
   hero banner greeting right below it. */
body.pagelayout-mydashboard #page-header .page-header-headings h1 {
    display: none !important;
}
/* Collapse the whole header row's own spacing too — an empty heading
   still left a gap since the row div itself keeps its margin/padding. */
body.pagelayout-mydashboard #page-header {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}
.course-content {
    margin-left: 0 !important;
    padding-left: 0 !important;
}
.course-content > .section {
    margin-left: 0 !important;
}
/* parent (unnamed div wrapping .course-content) carries padding:0 15px —
   :has() targets it directly since it has no class/id of its own. */
div:has(> .course-content) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Category pages: same stacked-padding issue as course pages, on
   .category-browse and its own unnamed padded parent. */
.category-browse {
    margin-left: 0 !important;
    padding-left: 0 !important;
}
div:has(> .category-browse) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Dashboard section titles — "//// TITLE" eyebrow style (default site-wide since v0.17.55). */
body:not(.make-titles-classic) .make-section-divider {
    border-top: none !important;
    height: 0 !important;
    margin: 0 0 26px 0 !important;
}
body:not(.make-titles-classic) .make-continue-course__title,
body:not(.make-titles-classic) .make-category-overview__title {
    font-family: var(--make-sans) !important;
    font-weight: 800 !important;
    font-size: 12.5px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    color: var(--make-ink) !important;
}
body:not(.make-titles-classic) .make-category-overview__actions {
    margin-bottom: 8px !important;
}
body:not(.make-titles-classic) .make-continue-course__head {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
body:not(.make-titles-classic) .make-continue-course {
    margin-bottom: var(--make-section-gap, 7px) !important;
}
body:not(.make-titles-classic) .make-continue-course + .make-section-divider {
    margin-bottom: 0 !important;
}
body:not(.make-titles-classic) .make-category-overview__btn {
    padding: 6px 14px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}
body:not(.make-titles-classic) .make-continue-course__title::before,
body:not(.make-titles-classic) .make-category-overview__title::before {
    content: "////" !important;
    font-style: italic !important;
    font-weight: 700 !important;
    letter-spacing: -0.05em !important;
    opacity: 0.85 !important;
}
body:not(.make-titles-classic) .make-continue-course__title small,
body:not(.make-titles-classic) .make-category-overview__title small {
    display: none !important;
}
body:not(.make-titles-classic) .make-continue-course__title {
    margin-bottom: 16px !important;
}


/* Divider under the category action buttons — match the dashboard's
   section divider (.make-section-divider): full ink color, same weight. */
.category-browse hr,
#page-course-index-category hr {
    border: 0 !important;
    border-top: 1px solid var(--make-ink) !important;
    opacity: 1 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Kill whatever native border Boost paints under the category tab row —
   our own .make-category-divider (inserted by hero.js) replaces it. */
#page-course-index-category .secondary-navigation,
#page-course-index-category nav.moremenu,
#page-course-index-category #page-header {
    border-bottom: 0 !important;
    box-shadow: none !important;
}
.make-category-divider {
    border-top: 1px solid var(--make-ink) !important;
    margin: -22px 0 24px 0 !important;
    width: 100% !important;
}


/* =====================================================================
   0.4.19 — Phase 5: section chevron, header row, activity rows
   ===================================================================== */

/* Chevron toggle circle -> brand blue tint. */
.course-content .section .icons-collapse-expand,
.course-content [data-toggle="collapse"] .icon,
.course-content .courseicon-collapse,
.section-collapsemenu,
.course-content .section-header [data-action="toggle"] {
    background-color: rgba(20, 57, 245, 0.12) !important;
    color: var(--make-blue) !important;
}
.course-content .section .icons-collapse-expand svg,
.course-content .section .icons-collapse-expand i {
    color: var(--make-blue) !important;
}

/* "Collapse all" link, quiet and brand-consistent. */
.course-content .collapseall,
.course-content [data-action="toggle-all"] {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: rgba(31, 37, 43, 0.6) !important;
    text-decoration: none !important;
}
.course-content .collapseall:hover,
.course-content [data-action="toggle-all"]:hover {
    color: var(--make-blue) !important;
}

/* Section header row: consistent padding + divider under the title. */
.course-content .section .content > .sectionname,
.course-content .section-header {
    padding: 18px 20px 14px !important;
}

/* Activity rows: icon spacing, quiet meta text, consistent height. */
.course-content .activity-item {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(31, 37, 43, 0.08) !important;
    background-color: transparent !important;
}
.course-content .section > .content > .activities > .activity-item:last-child,
.course-content .activity-item:last-child {
    border-bottom: 0 !important;
}
.course-content .activity-item .activityicon,
.course-content .activity-item img.iconlarge,
.course-content .activity-item img.activityicon {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
}
.course-content .activity-item .activityname {
    font-family: var(--make-display) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: var(--make-ink) !important;
}
.course-content .activity-item .badge,
.course-content .activity-item .activitybadge {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 10.5px !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    background-color: rgba(31, 37, 43, 0.08) !important;
    color: rgba(31, 37, 43, 0.6) !important;
    border-radius: 999px !important;
    padding: 3px 9px !important;
}
.course-content .activity-item .activitybadge.make-badge-empty {
    display: none !important;
}

/* "Mark as done" / "To do" pills: quiet outline, brand-consistent shape. */
.course-content .activity-item .btn,
.course-content .activity-item .dropdown-toggle {
    border: 1.5px solid rgba(31, 37, 43, 0.18) !important;
    border-radius: 999px !important;
    background-color: transparent !important;
    color: var(--make-ink) !important;
    font-family: var(--make-display) !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    padding: 6px 14px !important;
    box-shadow: none !important;
}
.course-content .activity-item .btn:hover,
.course-content .activity-item .dropdown-toggle:hover {
    border-color: var(--make-blue) !important;
    color: var(--make-blue) !important;
}
/* Completed state reads in brand blue, filled. */
.course-content .activity-item .btn.btn-success,
.course-content .activity-item [data-region="completion-info"] .text-success {
    background-color: var(--make-blue) !important;
    border-color: var(--make-blue) !important;
    color: #fff !important;
}


/* =====================================================================
   0.4.21 — Phase 6: profile alert boxes, teaching-courses table header
   ===================================================================== */
.alert-info {
    background-color: rgba(20, 57, 245, 0.08) !important;
    border: 1.5px solid rgba(20, 57, 245, 0.2) !important;
    border-radius: 14px !important;
    color: var(--make-ink) !important;
}
#page-content table thead th,
#page-content table td.header,
#page-content .generaltable thead th,
#page-content .generaltable td.header,
.userprofile table thead th {
    background-color: var(--make-paper) !important;
    border-bottom: 1.5px solid rgba(31, 37, 43, 0.14) !important;
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    color: var(--make-ink) !important;
}
#page-content table,
#page-content .generaltable,
.userprofile table {
    border: 1.5px solid rgba(31, 37, 43, 0.12) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}
#page-content table td,
.userprofile table td {
    border-color: rgba(31, 37, 43, 0.08) !important;
}

/* =====================================================================
   0.4.22 — Phase 6: grade report tables (user report + grader report)
   ===================================================================== */
.gradereport-user-report table.generaltable,
.gradereport-grader table.generaltable,
#page-content .gradereport-user-report table,
#page-content .gradereport-grader table {
    border: 1.5px solid rgba(31, 37, 43, 0.12) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background-color: var(--make-paper) !important;
}
.gradereport-user-report table.generaltable thead th,
.gradereport-grader table.generaltable thead th,
.gradereport-user-report table.generaltable tr.heading th {
    background-color: var(--make-paper) !important;
    border-bottom: 1.5px solid rgba(31, 37, 43, 0.14) !important;
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    color: var(--make-ink) !important;
}
/* Category subtotal / total rows: quiet blue tint, bold label. */
.gradereport-user-report tr.category,
.gradereport-user-report tr.avg {
    background-color: rgba(20, 57, 245, 0.06) !important;
}
.gradereport-user-report tr.category .cell,
.gradereport-user-report tr.category th,
.gradereport-user-report tr.category td {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    color: var(--make-ink) !important;
}
/* Row striping matches other tables' hairline dividers, no zebra fill. */
.gradereport-user-report table.generaltable td,
.gradereport-grader table.generaltable td {
    border-color: rgba(31, 37, 43, 0.08) !important;
}
.gradereport-user-report tr.odd,
.gradereport-user-report tr.even {
    background-color: transparent !important;
}
/* Grade values read as display type, feedback text stays quiet. */
.gradereport-user-report .gradevalue,
.gradereport-user-report td.grade {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
}
.gradereport-user-report td.feedback {
    color: rgba(31, 37, 43, 0.65) !important;
    font-size: 13.5px !important;
}
/* Grader report: sticky user-name column keeps the cream surface too. */
.gradereport-grader .gradeparent th.user,
.gradereport-grader th.header {
    background-color: var(--make-paper) !important;
}

/* =====================================================================
   0.4.23 — Phase 6 (final): full calendar page + Preferences page
   ===================================================================== */

/* Full calendar page: same brand chrome as the dashboard block, scaled up. */
#page-content .calendarwrapper .maincalendar table.calendartable,
#page-content .calendarmonth {
    background-color: var(--make-paper) !important;
    border: 1.5px solid rgba(31, 37, 43, 0.12) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}
#page-content .calendartable th {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    color: rgba(31, 37, 43, 0.5) !important;
    background-color: var(--make-paper) !important;
    border: 0 !important;
}
#page-content .calendartable td {
    border-color: rgba(31, 37, 43, 0.08) !important;
}
#page-content .calendartable td.today .day-number-circle {
    background-color: var(--make-blue) !important;
    color: var(--make-cream) !important;
    box-shadow: none !important;
    color: var(--make-blue) !important;
    border-radius: 50% !important;
}
#page-content .calendartable td.today {
    background-color: transparent !important;
}
#page-content .calendartable .event a,
#page-content .eventname a {
    color: var(--make-ink) !important;
    font-weight: 600 !important;
}
#page-content .calendartable .event a:hover,
#page-content .eventname a:hover {
    color: var(--make-blue) !important;
}
#page-content .calendar-controls .current {
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
}

/* Preferences page: card-style grouped link lists. */
#page-content .userprofile .list-group,
#page-content [data-region="preferences-page"] .list-group,
.preferences .list-group {
    border-radius: 14px !important;
    overflow: hidden !important;
}
.preferences .list-group-item,
[data-region="preferences-page"] .list-group-item {
    background-color: var(--make-paper) !important;
    border: 1.5px solid rgba(31, 37, 43, 0.1) !important;
    border-radius: 11px !important;
    margin-bottom: 6px !important;
}
.preferences h3,
[data-region="preferences-page"] h3 {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
}
.make-card-edit-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    margin-left: 6px !important;
    border-radius: 6px !important;
    color: rgba(31, 37, 43, 0.45) !important;
    vertical-align: middle !important;
}
.make-card-edit-link:hover {
    background-color: rgba(20, 57, 245, 0.1) !important;
    color: var(--make-blue) !important;
}
/* Category description now lives in the dashboard card, not the native
   category browse page — and the "Search courses" bar there is redundant
   next to the category switcher. */
.categorydescription,
.category-browse .box.generalbox.info,
#page-course-index-category .box.generalbox.info {
    display: none !important;
}
form[action*="/course/search.php"] {
    display: none !important;
}

/* =========================================================================
   Category overview — dashboard "Course overview" replacement.
   Ships hidden; javascript/hero.js drops it in place of block_myoverview.
   ===================================================================== */
.make-category-overview {
    display: none !important;
}
.make-category-overview.make-category-overview--placed {
    display: block !important;
    margin: 0 0 40px 0 !important;
}
.make-category-overview__head {
    display: none !important;
}
.make-category-overview__title {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 26px !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 16px 0 !important;
    color: var(--make-ink) !important;
}
.make-category-overview__title small {
    font-family: var(--make-sans) !important;
    font-style: italic !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: rgba(31, 37, 43, 0.5) !important;
    margin-left: 10px !important;
}
.make-category-overview__actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 22px 0 !important;
}
.make-category-overview__btn {
    display: inline-flex !important;
    align-items: center !important;
    border: 1.5px solid var(--make-blue) !important;
    color: var(--make-blue) !important;
    background: var(--make-cream) !important;
    border-radius: 999px !important;
    padding: 9px 20px !important;
    text-decoration: none !important;
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
}
.make-category-overview__btn:hover {
    background-color: rgba(20, 57, 245, 0.08) !important;
}
.make-category-overview__btn--solid {
    background-color: var(--make-blue) !important;
    color: var(--make-cream) !important;
}
.make-category-overview__btn--solid:hover {
    background-color: var(--make-blue-dark) !important;
    color: var(--make-cream) !important;
}
.make-category-overview__grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 20px !important;
}
.make-category-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 24px !important;
    text-decoration: none !important;
    color: var(--make-ink) !important;
    background-color: var(--make-paper) !important;
    min-height: 200px !important;
    overflow: hidden !important;
    transition: transform .16s, box-shadow .16s !important;
    border: 1.5px solid rgba(31, 37, 43, 0.08) !important;
}
.make-category-card__top {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: var(--make-band-pad, 22px) 22px var(--make-band-pad, 22px) !important;
    border-radius: 24px 24px 0 0 !important;
    overflow: hidden !important;
}
.make-category-card__top::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cg fill='%23000' fill-opacity='.55'%3E%3Ccircle cx='4' cy='6' r='.55'/%3E%3Ccircle cx='14' cy='3' r='.85'/%3E%3Ccircle cx='24' cy='9' r='.5'/%3E%3Ccircle cx='36' cy='5' r='1.05'/%3E%3Ccircle cx='45' cy='15' r='.65'/%3E%3Ccircle cx='8' cy='18' r='1.25'/%3E%3Ccircle cx='20' cy='20' r='.75'/%3E%3Ccircle cx='30' cy='22' r='.95'/%3E%3Ccircle cx='40' cy='26' r='.55'/%3E%3Ccircle cx='2' cy='28' r='.7'/%3E%3Ccircle cx='6' cy='33' r='.9'/%3E%3Ccircle cx='16' cy='35' r='1.15'/%3E%3Ccircle cx='26' cy='37' r='.65'/%3E%3Ccircle cx='38' cy='35' r='1.35'/%3E%3Ccircle cx='46' cy='31' r='.6'/%3E%3Ccircle cx='10' cy='44' r='.6'/%3E%3Ccircle cx='22' cy='45' r='.95'/%3E%3Ccircle cx='34' cy='45' r='.75'/%3E%3Ccircle cx='44' cy='43' r='.5'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size: 26px 26px !important;
    background-repeat: repeat !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, .4) 40%, rgba(0,0,0,.8) 100%) !important;
    mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, .4) 40%, rgba(0,0,0,.8) 100%) !important;
    pointer-events: none !important;
}
.make-category-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 22px 40px -26px rgba(31, 37, 43, 0.5) !important;
    color: var(--make-ink) !important;
}
.make-category-card__title {
    position: relative !important;
    z-index: 1 !important;
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    font-size: 27px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
    max-width: 68% !important;
    color: var(--make-cream) !important;
}
.make-category-card__icon {
    position: relative !important;
    z-index: 1 !important;
    flex: 0 0 auto !important;
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
}
.make-category-card__icon-glyph {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain !important;
}
.make-category-card__icon-custom {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
}
.make-category-card__note {
    position: relative !important;
    z-index: 1 !important;
    font-family: var(--make-sans) !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    padding: 20px 22px 26px !important;
    color: var(--make-ink) !important;
}
.make-category-card--photo .make-category-card__top::before {
    display: none !important;
}
.make-category-card--photo .make-category-card__title {
    text-shadow: 0 1px 6px rgba(0, 0, 0, .45) !important;
}

/* =====================================================================
   0.9.107 — LOGIN PAGE (body.pagelayout-login)
   Brand-forward: full MAKE-blue field with the hero squiggle motif, cream
   card floating on it, four-colour category stripe across the card head,
   and the newsletter's letterspaced eyebrow + Quimby script accent line.
   Structure is built by hero.js buildLoginChrome(); everything here only
   restyles Moodle's own native login form inside that card.
   ===================================================================== */
body.pagelayout-login {
    background-color: var(--make-blue) !important;
}
body.pagelayout-login #page,
body.pagelayout-login #page-content,
body.pagelayout-login #region-main,
body.pagelayout-login #region-main-box,
body.pagelayout-login .main-inner,
body.pagelayout-login #topofscroll {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}
/* Chrome that has no place on a login screen. */
body.pagelayout-login nav.navbar,
body.pagelayout-login .make-nav-drawer,
body.pagelayout-login #page-footer,
body.pagelayout-login .btn-footer-popover,
body.pagelayout-login footer,
body.pagelayout-login .drawer,
body.pagelayout-login .page-context-header,
body.pagelayout-login #page-header,
body.pagelayout-login .login-layout-left,
body.pagelayout-login #logoimage {
    display: none !important;
}
/* The blue field + its two squiggles. */
body.pagelayout-login .make-login-stage {
    position: fixed;
    inset: 0;
    z-index: 10;
    overflow: hidden auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 32px;
    background-color: var(--make-blue);
    background-image: url('../pix/login-bg-halftone.jpg');
    background-size: cover;
    background-position: center;
}
body.pagelayout-login .make-login-stage::before,
body.pagelayout-login .make-login-stage::after {
    display: none !important;
}
body.pagelayout-login .make-login-stage::before,
body.pagelayout-login .make-login-stage::after {
    content: "";
    position: absolute;
    aspect-ratio: 1285 / 432;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}
body.pagelayout-login .make-login-stage::before {
    top: -90px;
    left: -120px;
    width: min(760px, 62vw);
    opacity: .3;
    background-color: var(--make-login-squiggle-1);
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1285.8 432.45'%3E%3Cpath d='M29.54,6.74C21.24,27.28,16.8,51,18.28,78.2c8.31,152.89,185.49,231.86,392,223.15,46.67-2,232.55,9.69,273.21-84,29.37-75.45-71.42-110-114-54.72C548.19,187.38,523.42,272,660.77,337c0,0,263.59,156.84,618.73,24.05' fill='none' stroke='%23000' stroke-width='34' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1285.8 432.45'%3E%3Cpath d='M29.54,6.74C21.24,27.28,16.8,51,18.28,78.2c8.31,152.89,185.49,231.86,392,223.15,46.67-2,232.55,9.69,273.21-84,29.37-75.45-71.42-110-114-54.72C548.19,187.38,523.42,272,660.77,337c0,0,263.59,156.84,618.73,24.05' fill='none' stroke='%23000' stroke-width='34' stroke-linecap='round'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}
body.pagelayout-login .make-login-stage::after {
    bottom: -130px;
    right: -160px;
    width: min(820px, 66vw);
    transform: rotate(180deg);
    opacity: .24;
    background-color: var(--make-login-squiggle-2);
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1285.8 432.45'%3E%3Cpath d='M29.54,6.74C21.24,27.28,16.8,51,18.28,78.2c8.31,152.89,185.49,231.86,392,223.15,46.67-2,232.55,9.69,273.21-84,29.37-75.45-71.42-110-114-54.72C548.19,187.38,523.42,272,660.77,337c0,0,263.59,156.84,618.73,24.05' fill='none' stroke='%23000' stroke-width='34' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1285.8 432.45'%3E%3Cpath d='M29.54,6.74C21.24,27.28,16.8,51,18.28,78.2c8.31,152.89,185.49,231.86,392,223.15,46.67-2,232.55,9.69,273.21-84,29.37-75.45-71.42-110-114-54.72C548.19,187.38,523.42,272,660.77,337c0,0,263.59,156.84,618.73,24.05' fill='none' stroke='%23000' stroke-width='34' stroke-linecap='round'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}
body.pagelayout-login .make-login-shell {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 468px;
}
body.pagelayout-login .make-login-card {
    background-color: var(--make-cream) !important;
    border: 0 !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: 0 44px 84px -42px rgba(15, 20, 26, .65) !important;
}
body.pagelayout-login .make-login-stripe {
    display: flex;
    height: 6px;
}
body.pagelayout-login .make-login-stripe span {
    flex: 1;
}
body.pagelayout-login .make-login-body {
    padding: 34px 40px 40px;
}
body.pagelayout-login .make-login-kicker {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 11px;
    border-bottom: 1px solid rgba(31, 37, 43, .22);
    margin-bottom: 22px;
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 10.5px;
    letter-spacing: .19em;
    color: rgba(31, 37, 43, .62);
}
body.pagelayout-login .make-login-mark {
    height: 14px;
    width: auto;
    display: block;
}
body.pagelayout-login .make-login-title {
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 44px !important;
    line-height: .94 !important;
    letter-spacing: -.035em !important;
    margin: 0 !important;
    color: var(--make-ink) !important;
    display: block !important;
}
body.pagelayout-login .make-login-title em {
    font-family: 'Quimby Mayoral', 'Segoe Script', cursive !important;
    font-style: normal;
    font-weight: 400 !important;
    font-size: 60px;
    line-height: .5 !important;
    display: block !important;
    margin-top: -4px !important;
    color: var(--make-blue);
    -webkit-text-stroke: 0.8px var(--make-blue);
}
body.pagelayout-login .make-login-script {
    margin-top: 28px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 26px;
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: rgba(31, 37, 43, .75);
}
body.pagelayout-login .make-login-script i {
    display: inline-flex;
    line-height: 0;
}
/* Native Moodle login form, restyled in place. */
body.pagelayout-login .login-wrapper,
body.pagelayout-login .login-container,
body.pagelayout-login .card,
body.pagelayout-login .card-body {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}
body.pagelayout-login .login-heading,
body.pagelayout-login .card-title,
body.pagelayout-login h1:not(.make-login-title),
body.pagelayout-login h2:not(.make-login-title) {
    display: none !important;
}
body.pagelayout-login label {
    display: block !important;
    font-family: var(--make-display) !important;
    font-weight: 700 !important;
    font-size: 10.5px !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: rgba(31, 37, 43, .6) !important;
    margin-bottom: 8px !important;
}
body.pagelayout-login input[type="text"],
body.pagelayout-login input[type="password"],
body.pagelayout-login input[type="email"],
body.pagelayout-login .form-control {
    width: 100% !important;
    padding: 14px 18px !important;
    margin-bottom: 18px !important;
    font-family: var(--make-sans) !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: var(--make-ink) !important;
    background-color: var(--make-paper) !important;
    border: 1.5px solid rgba(31, 37, 43, .16) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}
body.pagelayout-login input[type="text"]:focus,
body.pagelayout-login input[type="password"]:focus,
body.pagelayout-login .form-control:focus {
    border-color: var(--make-blue) !important;
    box-shadow: 0 0 0 3px rgba(20, 57, 245, .12) !important;
    outline: none !important;
}
body.pagelayout-login .rememberusername,
body.pagelayout-login .form-check {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 22px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: rgba(31, 37, 43, .7) !important;
}
body.pagelayout-login .form-check-input,
body.pagelayout-login input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    accent-color: var(--make-blue);
    cursor: pointer;
}
body.pagelayout-login .form-check-label {
    margin: 0 !important;
    font-family: var(--make-sans) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: rgba(31, 37, 43, .7) !important;
}
body.pagelayout-login button[type="submit"],
body.pagelayout-login .btn-primary,
body.pagelayout-login #loginbtn {
    width: 100% !important;
    padding: 15px 24px !important;
    font-family: var(--make-display) !important;
    font-weight: 800 !important;
    font-size: 14.5px !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    color: var(--make-cream) !important;
    background-color: var(--make-ink) !important;
    border: 0 !important;
    border-radius: 999px !important;
    transition: transform .2s cubic-bezier(.22, 1, .36, 1), box-shadow .2s ease !important;
}
body.pagelayout-login button[type="submit"]:hover,
body.pagelayout-login .btn-primary:hover,
body.pagelayout-login #loginbtn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 30px -16px rgba(31, 37, 43, .75) !important;
}
body.pagelayout-login .forgetpass a {
    color: var(--make-blue) !important;
}
/* Guest / signup / cookie blurbs sit quietly under the card. */
body.pagelayout-login .login-divider,
body.pagelayout-login .logindivider {
    border-top: 1px solid rgba(31, 37, 43, .12) !important;
    margin: 26px 0 20px !important;
}
body.pagelayout-login .login-instructions,
body.pagelayout-login .cookies-alert,
body.pagelayout-login .login-guestlogin,
body.pagelayout-login .login-signup {
    font-family: var(--make-sans) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: rgba(31, 37, 43, .62) !important;
}
body.pagelayout-login .make-login-forgot {
    text-align: center;
    margin-top: 16px;
    margin-bottom: 0 !important;
}
body.pagelayout-login #loginlogo {
    display: none !important;
}
body.pagelayout-login .make-login-body {
    padding: 34px 40px 26px !important;
}
body.pagelayout-login .make-login-forgot a {
    font-size: 13.5px !important;
    font-weight: 600 !important;
}
@media (max-width: 560px) {
    body.pagelayout-login .make-login-body {
        padding: 28px 24px 30px;
    }
    body.pagelayout-login .make-login-title {
        font-size: 36px !important;
    }
    body.pagelayout-login .make-login-mark {
        display: none;
    }
}

/* Dashboard edit mode: rename affordance on Continue-course/Course-overview
   headings (site-wide, theme_make config), matching Moodle's own inline
   inplace-editable pencil pattern. */
.make-rename-target {
    position: relative;
}
.make-rename-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(31, 37, 43, .08);
    color: var(--make-ink);
    cursor: pointer;
    vertical-align: middle;
}
.make-rename-btn:hover {
    background: rgba(31, 37, 43, .16);
}
small.make-rename-target {
    display: inline-flex;
    align-items: center;
}
small.make-rename-target .make-rename-btn {
    width: 16px;
    height: 16px;
    margin-left: 5px;
}
small.make-rename-target .make-rename-input {
    font-size: 13px;
    font-weight: 600;
    padding: 1px 6px;
}
.make-rename-target.make-rename-editing .make-rename-btn {
    display: none;
}
.make-rename-input {
    font: inherit;
    font-weight: 800;
    color: var(--make-ink);
    background: var(--make-paper);
    border: 1.5px solid var(--make-blue);
    border-radius: 8px;
    padding: 2px 8px;
    margin-right: 8px;
    outline: none;
    max-width: 320px;
}

/* Newsletter pill: standalone rounded button at the base of the left nav
   (below the nav items, after the Site-administration pill if present).
   Hover morphs the icon out and the "News Hub" label in on a blue fill. */
.make-nav-newsletter-pill {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    margin: 4px 12px;
    border-radius: 999px;
    border: 1.5px solid rgba(31, 37, 43, 0.18);
    background: transparent;
    overflow: hidden;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.25s ease, border-color 0.25s ease;
    flex-shrink: 0;
}
.make-nav-newsletter-pill:last-of-type {
    margin-bottom: 12px;
}
.make-nav-newsletter-pill:hover {
    background-color: var(--make-blue);
    border-color: var(--make-blue);
}
.make-nav-newsletter-pill__icon {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--make-ink);
    transition: opacity 0.18s ease, transform 0.25s ease;
}
.make-nav-newsletter-pill:hover .make-nav-newsletter-pill__icon {
    opacity: 0;
    transform: scale(0.4) rotate(20deg);
}
.make-nav-newsletter-pill__label {
    position: absolute;
    opacity: 0;
    color: #fff;
    font-family: var(--make-display);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.01em;
    transition: opacity 0.22s ease 0.06s;
}
.make-nav-newsletter-pill:hover .make-nav-newsletter-pill__label {
    opacity: 1;
}
.make-nav-birthday-pill:hover {
    background-color: var(--make-magenta, #ff27e1);
    border-color: var(--make-magenta, #ff27e1);
}

.make-fbm { max-width: 860px; display: flex; flex-direction: column; gap: 44px; overflow-x: clip; padding-top: 18px; }
.make-fbm-banner { position: relative; border-radius: 40px !important; padding: 48px 52px 50px; display: flex; flex-direction: column; }
.make-fbm-banner > *:not(.make-fbm-banner__dots):not(.make-fbm-squiggle) { position: relative; }
.make-fbm-banner__dots { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background-image: radial-gradient(circle, var(--make-fbm-dot) 1.6px, transparent 2px), radial-gradient(circle, var(--make-fbm-dot) 1.6px, transparent 2px); background-size: 10px 10px; background-position: 0 0, 5px 5px; -webkit-mask-image: linear-gradient(100deg, transparent 32%, rgba(0,0,0,.35) 55%, #000 100%); mask-image: linear-gradient(100deg, transparent 32%, rgba(0,0,0,.35) 55%, #000 100%); }
.make-fbm-squiggle { position: absolute; top: -28px; right: 0; width: 440px; max-width: 55%; height: auto; overflow: visible; pointer-events: none; }
.make-fbm-banner--pending { background: var(--make-blue) !important; color: #fff; --make-fbm-dot: rgba(8,22,120,.55); }
.make-fbm-banner--pending .make-fbm-squiggle { color: var(--make-cyan); }
.make-fbm-banner--pending .make-fbm-script { color: var(--make-cyan); }
.make-fbm-banner--done { background: var(--make-paper) !important; color: var(--make-ink); box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); --make-fbm-dot: rgba(20,57,245,.22); }
.make-fbm-banner--done .make-fbm-squiggle, .make-fbm-banner--done .make-fbm-script, .make-fbm-banner--empty .make-fbm-script { color: var(--make-blue); }
.make-fbm-banner--empty { border: 1.5px dashed rgba(31,37,43,.25); color: var(--make-ink); }
.make-fbm-banner--late .make-fbm-squiggle { color: var(--make-magenta); }
.make-fbm-eyebrow { font-family: var(--make-display); font-weight: 700; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 22px; }
.make-fbm-title { margin: 0 !important; font-family: var(--make-display) !important; font-weight: 800 !important; font-size: clamp(40px, 6vw, 60px) !important; line-height: 1 !important; letter-spacing: -0.02em; color: inherit !important; }
.make-fbm-banner--empty .make-fbm-title { font-size: clamp(36px, 5vw, 50px) !important; }
.make-fbm-script { font-family: var(--make-script); font-size: clamp(34px, 4.6vw, 46px); line-height: 1; margin-top: 2px; }
.make-fbm-body { margin: 34px 0 0 !important; font-size: 20px; line-height: 1.4; max-width: 560px; }
.make-fbm-body strong { font-weight: 700; }
.make-fbm-progress { display: flex; flex-direction: column; gap: 8px; max-width: 340px; margin-top: 18px; }
.make-fbm-progress__label { display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; }
.make-fbm-progress__track { height: 6px; border-radius: 999px; background: rgba(255,255,255,.25); overflow: hidden; }
.make-fbm-progress__bar { height: 100%; background: #fff; border-radius: 999px; transition: width .6s cubic-bezier(.2,.7,.2,1); }
.make-fbm-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.make-fbm-btn { display: inline-flex; align-items: center; gap: 12px; font-family: var(--make-display); font-weight: 800; font-size: 19px; padding: 12px 22px; border-radius: 999px !important; text-decoration: none !important; border: 1.5px solid transparent; transition: transform .16s ease, gap .2s ease, background-color .16s ease; }
.make-fbm-btn:hover { transform: translateY(-2px); gap: 18px; }
.make-fbm-btn:active { transform: scale(.97); }
.make-fbm-btn__dash { display: block; width: 18px; height: 5px; border-radius: 999px; background: currentColor; }
.make-fbm-btn--light { background: #fff; color: var(--make-blue) !important; }
.make-fbm-btn--solid { background: var(--make-blue); color: #fff !important; }
.make-fbm-btn--ghost { border-color: var(--make-ink); color: var(--make-ink) !important; padding: 10.5px 22px; }
.make-fbm-btn--ghost:hover { gap: 12px; background: rgba(31,37,43,.06); }
.make-fbm-history { display: flex; flex-direction: column; }
.make-fbm-history .make-fbm-eyebrow { font-size: 13px; margin-bottom: 0; padding-bottom: 10px; border-bottom: 1px solid var(--make-ink); }
.make-fbm-row { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(31,37,43,.12); }
.make-fbm-row__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--make-blue); }
.make-fbm-row__dot--missed { background: var(--make-amber); }
.make-fbm-row__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.make-fbm-row__name { font-family: var(--make-display); font-weight: 800; font-size: 18px; }
.make-fbm-row__meta { font-size: 14px; color: rgba(31,37,43,.62); }
.make-fbm-row__name, .make-fbm-row__meta { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; }
.make-fbm-row__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.make-fbm-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; background: rgba(31,37,43,.06); color: var(--make-ink); white-space: nowrap; }
.make-fbm-chip__label { font-weight: 500; opacity: .62; }
.make-fbm-chip--done { background: var(--make-blue); color: #fff; }
.make-fbm-chip--done .make-fbm-chip__label { opacity: .8; }
.make-fbm-chip--late { background: rgba(244,159,22,.16); color: #8a5300; }
.make-fbm-chip--draft { background: rgba(20,57,245,.08); color: var(--make-blue); }
.make-fbm-row__links { flex-wrap: wrap; justify-content: flex-end; }
.make-fbm-row__links { display: flex; gap: 14px; font-weight: 700; font-size: 14px; }
.make-fbm-row__links a { text-decoration: none !important; transition: color .16s ease; }
.make-fbm-row__view { color: var(--make-ink) !important; }
.make-fbm-row__view:hover, .make-fbm-row__print { color: var(--make-blue) !important; }
@media (max-width: 600px) { .make-fbm-banner { padding: 40px 28px 34px; border-radius: 30px !important; } .make-fbm-body { font-size: 17px; margin-top: 24px !important; } }


/* ===== Role changes — rc_calendar.php (v0.18.0) ===== */
body#page-theme-make-rc_calendar .main-inner,
body#page-theme-make-rc_calendar #region-main,
body#page-theme-make-rc_calendar #page-header,
body#page-theme-make-rc_calendar #page-content { max-width: 1280px !important; }
body#page-theme-make-rc_calendar #page-header, body#page-theme-make-rc_calendar .make-rc { width: 100%; }
.make-rc { display: flex; flex-direction: column; gap: 36px; max-width: 1180px; margin: 0 0 64px; color: var(--make-ink); }
.make-rc [hidden], .make-rc-dialog [hidden] { display: none !important; }
.make-rc__lead { margin: 0; max-width: 640px; font-size: 16px; line-height: 1.45; color: rgba(31,37,43,.75); text-wrap: pretty; }
.make-rc-eyebrow { font-family: var(--make-display); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.make-rc-card { background: var(--make-paper); border-radius: 28px; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); }
.make-rc-auto { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 24px; border-radius: 22px; background: var(--make-paper); box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); }
.make-rc-auto--off { background: var(--make-blue); color: #fff; box-shadow: none; }
.make-rc-auto__text { font-size: 15px; line-height: 1.4; max-width: 700px; }
.make-rc-auto__text strong { display: block; font-family: var(--make-display); font-weight: 800; font-size: 18px; margin-bottom: 2px; }
.make-rc-auto form { margin: 0; }
.make-rc-warn { padding: 14px 20px; border-radius: 18px; background: rgba(255,39,225,.1); color: #8a0873; font-size: 14px; line-height: 1.45; }
.make-rc-warn a { color: #8a0873; text-decoration: underline; }
.make-rc-path { padding: 24px 28px 20px; display: flex; flex-direction: column; gap: 16px; }
.make-rc-path__row { display: flex; align-items: stretch; }
.make-rc-path__node { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 0 0 auto; }
.make-rc-path__role { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(31,37,43,.6); min-height: 14px; }
.make-rc-path__code { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 40px; padding: 0 10px; box-sizing: border-box; border-radius: 999px; background: var(--make-blue); color: #fff; font-family: var(--make-display); font-weight: 800; font-size: 17px; }
.make-rc-path__code--start { background: var(--make-cyan); color: var(--make-ink); }
.make-rc-path__code--hand { background: var(--make-amber); color: var(--make-ink); }
.make-rc-path__code--top { background: var(--make-ink); }
.make-rc-path__link { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; padding: 0 4px 13px; }
.make-rc-path__days { text-align: center; font-size: 12px; font-weight: 700; line-height: 1.2; color: var(--make-blue); text-wrap: balance; }
.make-rc-path__line { display: block; border-top: 3px solid var(--make-blue); border-radius: 3px; }
.make-rc-path__link--reminder .make-rc-path__days { color: #a86a00; }
.make-rc-path__link--reminder .make-rc-path__line { border-top: 3px dashed var(--make-amber); }
.make-rc-path__link--manual .make-rc-path__days { color: rgba(31,37,43,.55); }
.make-rc-path__link--manual .make-rc-path__line { border-top: 3px dotted rgba(31,37,43,.45); }
.make-rc-legend { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13px; color: rgba(31,37,43,.72); }
.make-rc-legend > span { display: inline-flex; align-items: center; gap: 8px; }
.make-rc-legend__line { display: inline-block; width: 22px; border-top: 3px solid var(--make-blue); }
.make-rc-legend__line--reminder { border-top: 3px dashed var(--make-amber); }
.make-rc-legend__line--manual { border-top: 3px dotted rgba(31,37,43,.45); }
.make-rc-legend__sw { display: inline-block; width: 14px; height: 14px; border-radius: 4px; box-sizing: border-box; }
.make-rc-legend__sw--auto { background: var(--make-blue); }
.make-rc-legend__sw--reminder { border: 1.5px dashed var(--make-amber); background: #fff7e6; }
.make-rc-legend__sw--applied { background: #efe4d4; }
.make-rc-legend__sw--past { border: 1.5px solid var(--make-magenta); background: #fff; }
.make-rc-cal { display: flex; flex-direction: column; gap: 14px; }
.make-rc-cal__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.make-rc-cal__titlewrap { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.make-rc-cal__title { margin: 0 !important; font-family: var(--make-display) !important; font-weight: 800 !important; font-size: 30px !important; letter-spacing: -.01em; }
.make-rc-cal__count { font-size: 15px; color: rgba(31,37,43,.65); }
.make-rc-cal__nav { display: flex; align-items: center; gap: 8px; }
.make-rc-cal__today { font-family: var(--make-display); font-weight: 700; font-size: 14px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid var(--make-ink); color: var(--make-ink); text-decoration: none !important; transition: background-color .15s; }
.make-rc-cal__today:hover { background: rgba(31,37,43,.06); color: var(--make-ink); }
.make-rc-cal__arrow { width: 40px; height: 40px; border-radius: 50%; background: var(--make-ink); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; line-height: 1; text-decoration: none !important; transition: background-color .15s; }
.make-rc-cal__arrow:hover { background: var(--make-blue); color: #fff; }
.make-rc-cal__scroll { padding: 14px; overflow-x: auto; }
.make-rc-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; min-width: 700px; }
.make-rc-cal__dow { font-family: var(--make-display); font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(31,37,43,.6); padding: 6px 8px 4px; }
.make-rc-cal__cell { min-height: 112px; border-radius: 14px; background: #fff; padding: 8px; display: flex; flex-direction: column; gap: 5px; box-shadow: inset 0 0 0 1px rgba(31,37,43,.08); min-width: 0; box-sizing: border-box; }
.make-rc-cal__cell--out { background: transparent; opacity: .45; }
.make-rc-cal__cell--today { box-shadow: inset 0 0 0 2px var(--make-blue); }
.make-rc-cal__num { font-family: var(--make-display); font-weight: 800; font-size: 14px; }
.make-rc-cal__cell--today .make-rc-cal__num { color: var(--make-blue); }
.make-rc-chip { display: flex; align-items: center; gap: 6px; width: 100%; min-width: 0; text-align: left; font-family: var(--make-sans); font-size: 12px; font-weight: 700; line-height: 1.2; padding: 5px 8px; border-radius: 8px; border: 1.5px solid var(--make-blue); background: var(--make-blue); color: #fff; box-sizing: border-box; transition: transform .15s var(--make-ease, ease); }
button.make-rc-chip { cursor: pointer; }
button.make-rc-chip:hover { transform: translateY(-1px); }
.make-rc-chip__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 auto; min-width: 0; }
.make-rc-chip__to { flex: 0 0 auto; font-family: var(--make-display); font-weight: 800; }
.make-rc-chip__dot { display: inline-block; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: var(--make-magenta); }
.make-rc-chip--reminder { background: #fff7e6; color: #7a4d00; border: 1.5px dashed var(--make-amber); }
.make-rc-chip--applied { background: #efe4d4; border-color: #efe4d4; color: rgba(31,37,43,.75); }
.make-rc-chip--past { background: #fff; border-color: var(--make-magenta); color: #8a0873; }
.make-rc-list { display: flex; flex-direction: column; }
.make-rc-list__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--make-ink); }
.make-rc-list__source { display: block; margin-top: 4px; font-size: 13px; color: rgba(31,37,43,.62); }
.make-rc-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.make-rc-filters { display: flex; flex-wrap: wrap; gap: 4px; background: rgba(31,37,43,.07); border-radius: 999px; padding: 4px; }
.make-rc-filter { font-family: var(--make-display); font-weight: 700; font-size: 13px; padding: 7px 14px; border-radius: 999px; border: none; background: transparent; color: var(--make-ink); cursor: pointer; }
.make-rc-filter.is-active { background: var(--make-ink); color: #fff; }
.make-rc-search { font-family: var(--make-sans); font-size: 14px; padding: 9px 16px; border-radius: 999px; border: 1.5px solid rgba(31,37,43,.25); background: var(--make-paper); color: var(--make-ink); width: 200px; outline: none; }
.make-rc-search:focus { border-color: var(--make-blue); }
.make-rc-row { display: grid; grid-template-columns: minmax(170px, 1.4fr) minmax(110px, .8fr) minmax(170px, 1.3fr) 140px 130px; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(31,37,43,.12); }
.make-rc-who { display: flex; align-items: center; gap: 12px; min-width: 0; }
.make-rc-who--btn { border: none; background: none; padding: 0; margin: 0; text-align: left; color: inherit; font: inherit; cursor: pointer; border-radius: 12px; }
.make-rc-who--btn:hover .make-rc-strong { color: var(--make-blue); }
.make-rc-who__text { display: block; min-width: 0; }
.make-rc-avatar--img { object-fit: cover; background: rgba(31,37,43,.08); }
.make-rc-profile { display: flex; align-items: center; gap: 18px; padding: 24px 32px 0; }
.make-rc-profile__photo { flex: 0 0 auto; width: 88px; height: 88px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--make-display); font-weight: 800; font-size: 28px; box-shadow: 0 0 0 4px var(--make-paper), 0 0 0 6px rgba(31,37,43,.1); }
.make-rc-profile__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.make-rc-profile__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.make-rc-profile__name { font-family: var(--make-display); font-weight: 800; font-size: 22px; line-height: 1.15; }
.make-rc-profile__line { font-size: 13px; line-height: 1.35; color: rgba(31,37,43,.7); }
.make-rc-profile__link { margin-top: 4px; font-family: var(--make-display); font-weight: 700; font-size: 13px; color: var(--make-blue); text-decoration: none; }
.make-rc-profile__link:hover { color: var(--make-blue-dark); text-decoration: underline; }
.make-rc-avatar { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--make-display); font-weight: 800; font-size: 14px; }
.make-rc-strong { display: block; font-family: var(--make-display); font-weight: 800; font-size: 16px; }
.make-rc-sub { display: block; font-size: 13px; color: rgba(31,37,43,.62); }
.make-rc-sub--moved { color: #c4129f; }
.make-rc-next { display: block; font-weight: 700; font-size: 15px; }
.make-rc-pill { display: inline-flex; white-space: nowrap; font-family: var(--make-display); font-weight: 700; font-size: 12px; letter-spacing: .04em; padding: 5px 11px; border-radius: 999px; color: var(--make-blue); box-shadow: inset 0 0 0 1.5px var(--make-blue); }
.make-rc-pill--due { background: var(--make-amber); color: var(--make-ink); box-shadow: none; }
.make-rc-pill--pastdate { background: var(--make-magenta); color: var(--make-ink); box-shadow: none; }
.make-rc-pill--waiting { color: #7a4d00; box-shadow: inset 0 0 0 1.5px var(--make-amber); }
.make-rc-pill--nostart { color: #a3088a; box-shadow: inset 0 0 0 1.5px var(--make-magenta); }
.make-rc-pill--stopped { background: rgba(31,37,43,.08); color: rgba(31,37,43,.7); box-shadow: none; }
.make-rc-pill--manual, .make-rc-pill--top { color: rgba(31,37,43,.65); box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.25); }
.make-rc-row__act { display: flex; justify-content: flex-end; }
.make-rc-btn { display: inline-flex; align-items: center; font-family: var(--make-display); font-weight: 700; font-size: 14px; line-height: 1.2; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--make-ink); background: transparent; color: var(--make-ink); cursor: pointer; transition: background-color .15s, color .15s, transform .15s; }
.make-rc-btn:hover { background: var(--make-ink); color: #fff; }
.make-rc-btn--light { background: #fff; border-color: #fff; color: var(--make-blue); font-weight: 800; }
.make-rc-btn--light:hover { background: #fff; color: var(--make-blue); transform: translateY(-1px); }
.make-rc-btn--primary { gap: 12px; background: var(--make-blue); border-color: var(--make-blue); color: #fff; font-weight: 800; font-size: 17px; padding: 11px 22px; }
.make-rc-btn--primary::after { content: ''; width: 16px; height: 5px; border-radius: 999px; background: #fff; }
.make-rc-btn--primary:hover { background: var(--make-blue-dark); border-color: var(--make-blue-dark); transform: translateY(-1px); }
.make-rc-btn--primary:disabled { opacity: .4; cursor: not-allowed; transform: none; }
.make-rc-link { border: none; background: none; font-family: var(--make-display); font-weight: 700; font-size: 14px; color: var(--make-ink); text-decoration: underline; text-underline-offset: 3px; padding: 8px 2px; cursor: pointer; }
.make-rc-link--danger { color: #c4129f; }
.make-rc-empty { margin: 0; padding: 28px 0; font-size: 16px; color: rgba(31,37,43,.65); }
.make-rc-notes { margin-top: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 1.45; color: rgba(31,37,43,.72); }
.make-rc-notes p { margin: 0; }
.make-rc-dialog { width: min(480px, calc(100vw - 32px)); max-width: none; padding: 0; border: none; border-radius: 32px; background: var(--make-paper); color: var(--make-ink); box-shadow: 0 30px 80px rgba(31,37,43,.35); overflow: hidden; }
.make-rc-dialog::backdrop { background: rgba(31,37,43,.45); }
.make-rc-dialog form { margin: 0; }
.make-rc-dialog__stripe { display: flex; height: 8px; }
.make-rc-dialog__stripe span { flex: 1; }
.make-rc-dialog__stripe span:nth-child(1) { background: var(--make-magenta); }
.make-rc-dialog__stripe span:nth-child(2) { background: var(--make-amber); }
.make-rc-dialog__stripe span:nth-child(3) { background: var(--make-ink); }
.make-rc-dialog__stripe span:nth-child(4) { background: var(--make-cyan); }
.make-rc-dialog__body { padding: 22px 32px 30px; display: flex; flex-direction: column; gap: 18px; }
.make-rc-dialog__title { margin: 10px 0 0 !important; font-family: var(--make-display) !important; font-weight: 800 !important; font-size: 40px !important; line-height: 1 !important; letter-spacing: -.02em; }
.make-rc-dialog__title em { font-style: normal; color: var(--make-blue); }
.make-rc-dialog__script { font-family: var(--make-script); font-size: 30px; line-height: 1.1; color: var(--make-blue); margin-top: 2px; }
.make-rc-dialog__field { display: flex; flex-direction: column; gap: 8px; }
.make-rc-dialog__label { font-weight: 700; font-size: 14px; margin: 0; }
.make-rc-dialog__date { font-family: var(--make-display); font-weight: 700; font-size: 18px; padding: 10px 16px; border-radius: 14px; border: 1.5px solid rgba(31,37,43,.25); background: #fff; color: var(--make-ink); outline: none; }
.make-rc-dialog__date:focus { border-color: var(--make-blue); }
.make-rc-dialog__hint { font-size: 13px; color: rgba(31,37,43,.62); }
.make-rc-dialog__shift { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.make-rc-opt { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 11px 14px; margin: 0; border-radius: 14px; border: 1.5px solid rgba(31,37,43,.2); background: #fff; font-size: 13px; line-height: 1.3; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.make-rc-opt input { position: absolute; opacity: 0; pointer-events: none; }
.make-rc-opt strong { font-family: var(--make-display); font-size: 14px; }
.make-rc-opt:has(input:checked) { background: var(--make-blue); border-color: var(--make-blue); color: #fff; }
.make-rc-opt:has(input:focus-visible) { outline: 2px solid var(--make-blue); outline-offset: 2px; }
.make-rc-dialog__notes { display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 1.4; color: rgba(31,37,43,.72); padding-top: 14px; border-top: 1px solid rgba(31,37,43,.12); }
.make-rc-dialog__warn { color: #a3088a; font-weight: 700; }
.make-rc-dialog__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.make-rc-push { flex: 1 1 0; }
@media (max-width: 860px) {
    .make-rc-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 10px; }
    .make-rc-row__act { justify-content: flex-start; }
    .make-rc-path__code { min-width: 40px; padding: 0 8px; font-size: 15px; }
    .make-rc-path__days { font-size: 11px; }
}


/* ===== Feedback form — fb_fill.php (v0.19.1): section-coloured axis cards, one Acuerdos block per axis ===== */
body#page-theme-make-fb_fill .main-inner,
body#page-theme-make-fb_fill #region-main,
body#page-theme-make-fb_fill #page-header,
body#page-theme-make-fb_fill #page-content { max-width: 1280px !important; }
.make-fbf { display: flex; flex-direction: column; gap: 28px; margin: 8px 0 48px; color: var(--make-ink); }
.make-fbf-axis { --axis: var(--make-blue); --axis-ink: #fff; background: var(--make-paper); border-radius: 26px; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); overflow: hidden; }
.make-fbf-axis__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 18px; padding: 18px 26px; background: var(--axis); color: var(--axis-ink); }
.make-fbf-axis__title { margin: 0 !important; font-family: var(--make-display) !important; font-weight: 800 !important; font-size: 22px !important; letter-spacing: -.01em; color: var(--axis-ink) !important; }
.make-fbf-axis__sub { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-style: italic; opacity: .92; }
.make-fbf-axis__body { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(260px, 1fr); }
.make-fbf-axis--noagree .make-fbf-axis__body { grid-template-columns: minmax(0, 1fr); }
.make-fbf-qs { display: flex; flex-direction: column; background: color-mix(in srgb, var(--axis) 9%, var(--make-paper)); }
.make-fbf-q { padding: 20px 26px; display: flex; flex-direction: column; gap: 8px; }
.make-fbf-q + .make-fbf-q { border-top: 1px solid rgba(31,37,43,.1); }
.make-fbf-q__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.make-fbf-q__text { margin: 0; font-weight: 700; font-size: 15.5px; line-height: 1.4; text-wrap: pretty; }
.make-fbf-q__help { margin: 0; font-size: 13px; color: rgba(31,37,43,.65); }
.make-fbf-rating { flex: 0 0 auto; appearance: auto; min-width: 84px; font-family: var(--make-display); font-weight: 800; font-size: 15px; padding: 7px 12px; border-radius: 999px; border: 2px solid var(--axis); background: #fff; color: var(--make-ink); cursor: pointer; }
.make-fbf-rating:focus { outline: 2px solid var(--axis); outline-offset: 2px; }
.make-fbf-score { flex: 0 0 auto; font-family: var(--make-display); font-weight: 800; font-size: 20px; padding: 2px 14px; border-radius: 999px; background: var(--axis); color: var(--axis-ink); }
.make-fbf-score small { font-size: 12px; font-weight: 700; opacity: .8; margin-left: 1px; }
.make-fbf-label { display: block; margin: 4px 0 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(31,37,43,.62); }
.make-fbf-textarea { width: 100%; box-sizing: border-box; min-height: 76px; resize: vertical; font-family: var(--make-sans); font-size: 14.5px; line-height: 1.45; padding: 11px 14px; border-radius: 14px; border: 1.5px solid rgba(31,37,43,.18); background: #fff; color: var(--make-ink); }
.make-fbf-textarea:focus { outline: none; border-color: var(--axis); box-shadow: 0 0 0 3px color-mix(in srgb, var(--axis) 22%, transparent); }
.make-fbf-readonly { font-size: 14.5px; line-height: 1.45; padding: 2px 0; overflow-wrap: anywhere; word-break: break-word; min-width: 0; }
.make-fbf-q, .make-fbf-agree, .make-fbf-qs { min-width: 0; }
.make-fbf-q__text { overflow-wrap: anywhere; }
.make-fbf-agree { display: flex; flex-direction: column; gap: 8px; padding: 20px 24px 24px; background: color-mix(in srgb, var(--axis) 9%, var(--make-paper)); border-left: 1.5px solid color-mix(in srgb, var(--axis) 30%, transparent); }
.make-fbf-agree .make-fbf-label { margin-top: 0; color: var(--make-ink); font-size: 13px; }
.make-fbf-textarea--agree { flex: 1 1 auto; min-height: 200px; }
.make-fbf-agree__hint { margin: 0; font-size: 12.5px; line-height: 1.45; color: rgba(31,37,43,.65); }
.make-fbf-q__textrow { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.make-fbf-labelrow { display: flex; align-items: center; gap: 8px; }
.make-fbf-labelrow .make-fbf-label { margin: 0; }
.make-fbf-info { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-top: 1px; padding: 0 !important; border-radius: 999px !important; border: 1.5px solid rgba(31,37,43,.45) !important; background: transparent !important; color: rgba(31,37,43,.7) !important; font-family: var(--make-display); font-size: 12px !important; font-weight: 800; font-style: italic; line-height: 1 !important; cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease; }
.make-fbf-info:hover, .make-fbf-info[aria-expanded="true"] { background: var(--axis, var(--make-blue)) !important; border-color: var(--axis, var(--make-blue)) !important; color: var(--axis-ink, #fff) !important; }
.make-fbf-info:active { transform: scale(.92); }
.make-fbf-info:focus-visible { outline: 2px solid var(--axis, var(--make-blue)); outline-offset: 2px; }
.make-fbf-info-panel { margin: 2px 0 0; padding: 12px 14px; border-radius: 12px; background: color-mix(in srgb, var(--axis, var(--make-blue)) 8%, var(--make-paper)); border: 1px solid color-mix(in srgb, var(--axis, var(--make-blue)) 28%, transparent); font-size: 13.5px; line-height: 1.5; color: var(--make-ink); text-wrap: pretty; animation: make-fbf-info-in .18s ease-out both; }
.make-fbf-info-panel[hidden] { display: none !important; }
@keyframes make-fbf-info-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.make-fbt-note { margin-top: 8px; }
.make-fbt-note__box > summary { display: inline-flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; font-size: 13px; font-weight: 700; color: rgba(31,37,43,.62); user-select: none; }
.make-fbt-note__box > summary::-webkit-details-marker { display: none; }
.make-fbt-note__box > summary:hover { color: var(--make-blue); }
.make-fbt-note__i { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 999px; border: 1.5px solid currentColor; font-family: var(--make-display); font-size: 12px; font-weight: 800; font-style: italic; line-height: 1; }
.make-fbt-note--has .make-fbt-note__box > summary { color: var(--make-ink); }
.make-fbt-note--has .make-fbt-note__i { background: var(--make-blue); border-color: var(--make-blue); color: #fff; }
.make-fbt-note__edit { font-weight: 700; color: var(--make-blue); }
.make-fbt-note__box[open] .make-fbt-note__edit { display: none; }
.make-fbt-note__preview { margin: 8px 0 0; padding: 12px 14px; border-radius: 12px; background: color-mix(in srgb, var(--make-blue) 6%, var(--make-paper)); border: 1px solid color-mix(in srgb, var(--make-blue) 22%, transparent); font-size: 13.5px; line-height: 1.5; color: var(--make-ink); }
.make-fbt-note__box[open] + .make-fbt-note__preview { display: none; }
.make-fbt-note__form { display: none; margin: 8px 0 0; max-width: 720px; animation: make-fbf-info-in .18s ease-out both; }
.make-fbt-note__box[open] .make-fbt-note__form { display: flex; flex-direction: column; gap: 8px; }
.make-fbt-note__input { font-size: 14px; line-height: 1.45; border-radius: 12px !important; }
.make-fbt-note__btns { display: flex; align-items: center; gap: 8px; }
.make-fbf-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 900px) {
    .make-fbf-axis__body { grid-template-columns: minmax(0, 1fr); }
    .make-fbf-agree { border-left: none; border-top: 1.5px solid color-mix(in srgb, var(--axis) 30%, transparent); }
    .make-fbf-textarea--agree { min-height: 140px; }
}
/* fb_view_results.php: same section colours on the combined view */
.make-fbv-axis { padding: 0 !important; overflow: hidden; }
.make-fbv-axis > *:not(.make-fbv-axis__head) { margin-left: 1rem; margin-right: 1rem; }
.make-fbv-axis > :last-child { margin-bottom: 1rem; }
.make-fbv-axis, .make-fbv-agree { overflow-wrap: anywhere; }
.make-fbv-agree { margin-top: 1rem; padding: 12px 14px; border-radius: 14px; background: color-mix(in srgb, var(--axis) 9%, var(--make-paper)); }

/* v0.19.7: Directors — download a finished team's results as individual PDFs */
.make-fb-cr-group__title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.make-fb-cr-print { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-family: var(--make-sans, inherit); font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; padding: 7px 16px; border-radius: 999px; background: var(--make-ink); color: #fff !important; text-decoration: none !important; }
.make-fb-cr-print:hover { background: var(--make-blue); }
.make-fb-cr-print--waiting, .make-fb-cr-print--waiting:hover { background: rgba(31,37,43,.08); color: rgba(31,37,43,.7) !important; font-weight: 600; cursor: default; }

.make-fbm-leaderhead { margin: 88px 0 16px; }
.make-fbm-banner--team { max-width: 860px; padding: 34px 44px 36px; margin: 6px 0 22px; }
.make-fbm-banner--team .make-fbm-eyebrow { margin-bottom: 14px; }
.make-fbm-banner--team .make-fbm-title { font-size: clamp(30px, 4.4vw, 42px) !important; }
.make-fbm-banner--team .make-fbm-script { font-size: clamp(28px, 3.6vw, 36px); }
.make-fbm-banner--team .make-fbm-body { margin-top: 20px !important; font-size: 17px; }
.make-fbm-banner--team .make-fbm-squiggle { width: 320px; max-width: 45%; }
.make-fbm-teamlist { max-width: 860px; margin: 0 0 28px; }
.make-fbm-banner { overflow: hidden; }
.make-fbm-row--team { grid-template-columns: 48px minmax(0,1fr) auto; }
.make-fbm-row__icon { width: 48px; height: 48px; border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center; font-family: var(--make-display); font-weight: 800; font-size: 16px; color: #fff; background: var(--make-ink); }
.make-fbm-row__icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.make-fbm-readylist { margin-top: 88px; }
.make-fbm-readylist { max-width: 860px; display: flex; flex-direction: column; gap: 14px; }
.make-fbm-readylist .make-fbm-eyebrow { margin-bottom: 4px; }
.make-fbm-teampill { position: relative; overflow: hidden; border-radius: 999px !important; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 30px 22px 42px; --make-fbm-dot: rgba(0,0,0,.16); }
.make-fbm-teampill > *:not(.make-fbm-banner__dots) { position: relative; }
.make-fbm-teampill__text { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 18px; min-width: 0; }
.make-fbm-teampill__name { font-family: var(--make-display); font-weight: 800; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.05; letter-spacing: -.01em; }
.make-fbm-teampill__sep { width: 3px; height: 1.6em; background: currentColor; border-radius: 2px; }
.make-fbm-teampill__leader { font-family: var(--make-display); font-weight: 500; font-size: clamp(19px, 2.4vw, 26px); line-height: 1.1; }
.make-fbm-teampill__print { flex: 0 0 auto; font-family: var(--make-display); font-weight: 700; font-size: 17px; padding: 4px 22px; border-radius: 999px !important; text-decoration: none !important; transition: transform .15s ease; }
.make-fbm-teampill__print:hover { transform: translateY(-2px); }
@media (max-width: 600px) { .make-fbm-teampill { padding: 18px 20px 18px 26px; } .make-fbm-teampill__sep { display: none; } .make-fbm-teampill__text { flex-direction: column; align-items: flex-start; } }

/* v0.19.24: EVERY title uses the dashboard "//// TITLE" style — page titles (h1 in the page header) site-wide,
   plus our section labels. One switch: Site Customizer → Typography → "Title style" = Classic adds
   body.make-titles-classic (hero.js), and every rule here is scoped body:not(.make-titles-classic), so
   Classic restores the old look exactly. */
body:not(.make-titles-classic) .make-fbm-eyebrow--solid,
body:not(.make-titles-classic):not(.pagelayout-login) #page-header h1,
body:not(.make-titles-classic):not(.pagelayout-login) .page-header-headings h1,
body:not(.make-titles-classic):not(.pagelayout-login) .page-context-header h1 {
    font-family: var(--make-sans) !important;
    font-weight: 800 !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--make-ink) !important;
}
body:not(.make-titles-classic):not(.pagelayout-login) #page-header h1,
body:not(.make-titles-classic):not(.pagelayout-login) .page-header-headings h1 {
    margin: 0 0 16px !important;
}
body:not(.make-titles-classic) .make-fbm-eyebrow--solid::before,
body:not(.make-titles-classic):not(.pagelayout-login) #page-header h1::before,
body:not(.make-titles-classic):not(.pagelayout-login) .page-header-headings h1::before,
body:not(.make-titles-classic):not(.pagelayout-login) .page-context-header h1::before {
    content: "////";
    font-style: italic;
    font-weight: 700;
    letter-spacing: -0.05em;
    opacity: 0.85;
}
/* v0.19.25: tighter gap under the small //// page title, and every page description in the muted
   Site-Customizer-intro colour so it reads apart from the title without changing size. */
body:not(.make-titles-classic):not(.pagelayout-login) #page-header h1,
body:not(.make-titles-classic):not(.pagelayout-login) .page-header-headings h1 {
    margin: 0 !important;
}
body:not(.make-titles-classic):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-header,
body:not(.make-titles-classic):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-header .page-context-header {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
body:not(.make-titles-classic):not(.pagelayout-login):not(.pagelayout-mydashboard) #region-main,
body:not(.make-titles-classic):not(.pagelayout-login):not(.pagelayout-mydashboard) #region-main-box {
    padding-top: 10px !important;
}
body:not(.make-titles-classic) .make-customizer__intro,
body:not(.make-titles-classic) #region-main [role="main"] > p:first-of-type,
body:not(.make-titles-classic) #region-main [role="main"] > .make-customizer > p:first-of-type {
    color: rgba(31, 37, 43, .65) !important;
    margin-top: 0 !important;
}

/* v0.19.28: My courses — no "Course overview" heading; Manage/Create course pills only in edit mode. */
.make-mycourses-hidetitle { display: none !important; }
body:not(.editing) .make-mycourses-actions { display: none !important; }

/* v0.19.30: dashboard never shows its page title — the hero greeting replaces it. Out-ranks the
   site-wide //// title rules (which set display:flex on every page-header h1). */
body.pagelayout-mydashboard.pagelayout-mydashboard:not(.make-titles-classic):not(.pagelayout-login) #page-header h1,
body.pagelayout-mydashboard.pagelayout-mydashboard:not(.make-titles-classic):not(.pagelayout-login) .page-header-headings h1,
body.pagelayout-mydashboard.pagelayout-mydashboard:not(.make-titles-classic):not(.pagelayout-login) .page-context-header h1,
body.pagelayout-mydashboard.pagelayout-mydashboard.make-titles-classic #page-header h1 { display: none !important; }

/* v0.19.33: navbar logo with tagline, aligned to the content column (hero.js applyNavbarBrand()).
   Delete .make-navbar-aligned rules to fall back to Moodle's own left-aligned placement. */
.make-navbar-logo { height: 28px; width: auto; display: block; }
nav.navbar .make-navbar-brand { padding: 0 !important; }
@media (min-width: 768px) {
    
}

/* v0.19.35: tagline logo keeps its own colours (no white filter) and sits in the old logo spot. */
nav.navbar .navbar-brand img.make-navbar-logo { filter: none !important; }
nav.navbar .navbar-brand.make-navbar-brand { margin-left: 46px !important; position: static !important; transform: none !important; }

/* v0.19.36: logo right after the hamburger (left set live by hero.js applyNavbarBrand()). */
nav.navbar.make-navbar-aligned .navbar-brand.make-navbar-brand { position: absolute !important; left: var(--make-nav-left, 60px) !important; top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; }
/* v0.20.0: acuerdo-only edit mode (fb_fill.php?edit=1) — questions/ratings greyed, acuerdo editable */
.make-fbf--acuerdo-mode .make-fbf-qs { opacity: .45; filter: grayscale(1); pointer-events: none; user-select: none; }
.make-fbf--acuerdo-mode .make-fbf-axis__head { opacity: .75; }
.make-fbf-agree__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
/* Acuerdos history (fb_fill.php, leader Feedback) */
.make-fbf-history { margin: 48px 0 24px; display: flex; flex-direction: column; gap: 12px; }
.make-fbf-history__title { font-size: 12.5px !important; font-weight: 800 !important; letter-spacing: .08em !important; text-transform: uppercase !important; margin: 0 0 4px !important; }
.make-fbf-history__title::before { content: "//// "; font-style: italic; letter-spacing: -.05em; }
.make-fbf-history__empty { margin: 0; color: rgba(31,37,43,.65); font-size: 14px; }
.make-fbf-history__item { background: var(--make-paper); border-radius: 14px; padding: 16px 20px; border-top: 4px solid var(--axis); display: flex; flex-direction: column; gap: 8px; }
.make-fbf-history__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; font-size: 12.5px; }
.make-fbf-history__date { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.make-fbf-history__axis { font-weight: 700; }
.make-fbf-history__cycle { color: rgba(31,37,43,.65); }
.make-fbf-history__text { font-size: 14.5px; line-height: 1.45; overflow-wrap: anywhere; }
/* v0.20.1: acuerdo locked after Submit to 1to1 */
.make-fbf-agree__sent { margin: 0; font-size: 12.5px; font-weight: 700; color: var(--make-ink); }
.make-fbm-row__sent { font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: rgba(31,37,43,.65); }
.make-fbf-actions--acuerdo { justify-content: flex-end; align-items: center; margin-top: 8px; }
/* v0.20.3: Acuerdos history page (fb_acuerdos.php) */
.make-fbah { margin-top: 8px; gap: 36px; }
.make-fbah__person { display: flex; flex-direction: column; gap: 12px; }
.make-fbah__count { margin-left: 8px; font-weight: 600; color: rgba(31,37,43,.65); }
.make-fbah__count::before { content: "· "; }
.make-fbah__delete { margin-left: auto; font-size: 12.5px; font-weight: 700; color: #c0182b !important; text-decoration: none; }
.make-fbah__delete:hover { text-decoration: underline; }
/* v0.20.4: Acuerdos history — collapsed date rows, "View details" expands */
.make-fbah__person { gap: 8px; }
.make-fbah__entry { background: var(--make-paper); border-radius: 14px; overflow: hidden; }
.make-fbah__summary { list-style: none; cursor: pointer; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 14px 20px; }
.make-fbah__summary::-webkit-details-marker { display: none; }
.make-fbah__date { font-weight: 800; font-size: 15px; }
.make-fbah__sub { font-size: 13px; color: rgba(31,37,43,.65); }
.make-fbah__toggle { margin-left: auto; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; background: var(--make-ink); color: #fff; }
.make-fbah__entry[open] .make-fbah__toggle { background: transparent; color: var(--make-ink); box-shadow: inset 0 0 0 1.5px var(--make-ink); }
.make-fbah__entry[open] .make-fbah__toggle::after { content: " ×"; }
.make-fbah__detail { display: flex; flex-direction: column; gap: 10px; padding: 0 20px 20px; }
.make-fbah__detail .make-fbf-history__item { background: #fff; }

/* ===== v0.20.6 MOTION for the feedback / acuerdo features — same vocabulary as the MOTION LAYER
   (make-rise-in / make-pop-in, --make-ease, --make-dur*, staggered .04s; reduced-motion handled globally). ===== */
@keyframes make-fbf-lock { from { opacity: 1; filter: grayscale(0); } to { opacity: .45; filter: grayscale(1); } }
@keyframes make-fbf-sent-glow { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--axis) 45%, transparent); } 100% { box-shadow: 0 0 0 14px transparent; } }

/* My feedback: banners, pills, rows arrive with the staggered rise. */
body.make-ready .make-fbm-banner,
body.make-ready .make-fbm-teampill,
body.make-ready .make-fbm-row,
body.make-ready .make-fbm-eyebrow--solid { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; }
body.make-ready :is(.make-fbm-teampill, .make-fbm-row):nth-child(3) { animation-delay: .04s; }
body.make-ready :is(.make-fbm-teampill, .make-fbm-row):nth-child(4) { animation-delay: .08s; }
body.make-ready :is(.make-fbm-teampill, .make-fbm-row):nth-child(5) { animation-delay: .12s; }
body.make-ready :is(.make-fbm-teampill, .make-fbm-row):nth-child(n+6) { animation-delay: .16s; }
.make-fbm-teampill, .make-fbm-row { transition: transform var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease); }
.make-fbm-teampill:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(31, 37, 43, .45); }
.make-fbm-row:hover { transform: translateX(3px); }
.make-fbm-row__sent { animation: make-pop-in var(--make-dur) var(--make-ease) backwards; }
.make-fbm-btn, .make-fbm-teampill__print, .make-fb-usercard__btn, .make-fbah__toggle, .make-fbah__delete {
    transition: background-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease),
        box-shadow var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease);
}
.make-fbm-btn:active, .make-fbm-teampill__print:active, .make-fb-usercard__btn:active, .make-fbah__toggle:active { transform: scale(.97); }

/* Feedback form: section cards rise in one after another. */
body.make-ready .make-fbf-axis { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; }
body.make-ready .make-fbf-axis:nth-of-type(2) { animation-delay: .05s; }
body.make-ready .make-fbf-axis:nth-of-type(3) { animation-delay: .1s; }
body.make-ready .make-fbf-axis:nth-of-type(4) { animation-delay: .15s; }
body.make-ready .make-fbf-axis:nth-of-type(n+5) { animation-delay: .2s; }
body.make-ready .make-fbf-actions { animation: make-rise-in var(--make-dur-slow) var(--make-ease) .2s backwards; }

/* Edit acuerdo: questions visibly "lock" (fade to grey) after the cards land; acuerdos stay lively. */
body.make-ready .make-fbf--acuerdo-mode .make-fbf-qs { animation: make-fbf-lock .5s var(--make-ease-in-out) .35s backwards; }
.make-fbf--acuerdo-mode .make-fbf-agree:has(textarea) .make-fbf-textarea--agree { animation: make-fbf-sent-glow .9s var(--make-ease) .6s 1 backwards; }
.make-fbf-agree__sent { animation: make-pop-in var(--make-dur) var(--make-ease) .3s backwards; }
.make-fbf-agree__sent a { color: var(--make-blue) !important; font-weight: 800; }

/* Acuerdos history: people and date rows rise in; details open/close like the other panels. */
body.make-ready .make-fbah__person { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; }
body.make-ready .make-fbah__person:nth-child(2) { animation-delay: .05s; }
body.make-ready .make-fbah__person:nth-child(3) { animation-delay: .1s; }
body.make-ready .make-fbah__person:nth-child(n+4) { animation-delay: .15s; }
.make-fbah__entry { transition: transform var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease); }
.make-fbah__entry:not([open]):hover { transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(31, 37, 43, .45); }
.make-fbah__entry[open] { box-shadow: 0 14px 30px -22px rgba(31, 37, 43, .4); }
.make-fbah__entry[open] > .make-fbah__detail { animation: make-pop-in var(--make-dur) var(--make-ease) both; transform-origin: top center; }
.make-fbah__entry[open] .make-fbf-history__item { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; }
.make-fbah__entry[open] .make-fbf-history__item:nth-child(2) { animation-delay: .05s; }
.make-fbah__entry[open] .make-fbf-history__item:nth-child(3) { animation-delay: .1s; }
.make-fbah__entry[open] .make-fbf-history__item:nth-child(4) { animation-delay: .15s; }
.make-fbah__entry[open] .make-fbf-history__item:nth-child(n+5) { animation-delay: .2s; }
.make-fbah__toggle:hover { transform: translateY(-1px); }
.make-fbf-history__item.make-closing { animation: make-pop-out .2s var(--make-ease-in-out) forwards !important; }
/* v0.20.7: one Delete per date row, beside View details */
.make-fbah__summary .make-fbah__delete { margin-left: 0; padding: 6px 12px; border-radius: 999px; }
.make-fbah__summary .make-fbah__delete:hover { background: rgba(192,24,43,.08); text-decoration: none; }
.make-fbah__entry.make-closing { animation: make-pop-out .2s var(--make-ease-in-out) forwards !important; }

/* v0.20.8: Delete = solid red pill, same size as "View details", right beside it */
.make-fbah__summary .make-fbah__delete {
    margin-left: -8px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    padding: 6px 14px; border-radius: 999px !important; background: #c0182b; color: #fff !important; text-decoration: none !important;
}
.make-fbah__summary .make-fbah__delete:hover { background: #9e1224; color: #fff !important; transform: translateY(-1px); }
.make-fbah__summary .make-fbah__delete:active { transform: scale(.97); }

/* v0.20.9: person name in Acuerdos history = a name, not a section title (no ////, no caps) */
.make-fbah__name { display: flex; align-items: baseline; gap: 8px; margin: 0 0 2px; font-family: var(--make-display); font-weight: 800; font-size: 20px; line-height: 1.2; letter-spacing: -.01em; color: var(--make-ink); text-transform: none; }
.make-fbah__name .make-fbah__count { margin-left: 0; font-family: var(--make-body, inherit); font-size: 13px; font-weight: 600; letter-spacing: 0; }

/* v0.20.10: name uses the current //// title (make-fbm-eyebrow--solid); View details + Delete share one row */
.make-fbah__name.make-fbm-eyebrow--solid { font-size: 12.5px; margin: 0 0 4px; }
.make-fbah__name .make-fbah__count { font-family: inherit; font-size: 12.5px; font-weight: 600; letter-spacing: .04em; }
.make-fbah__btns { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; white-space: nowrap; }
.make-fbah__btns .make-fbah__toggle { margin-left: 0; }
.make-fbah__summary .make-fbah__btns .make-fbah__delete { margin-left: 0; }

/* v0.20.24: Acuerdos history grouped Team → person → date. Teams + people are collapsible rows. */
.make-fbah { gap: 12px; }
.make-fbah__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 4px; }
.make-fbah__search { flex: 1 1 260px; max-width: 380px; height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px solid rgba(31,37,43,.18); background: #fff; font-size: 14px; color: var(--make-ink); transition: border-color var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease); }
.make-fbah__search:focus { outline: none; border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-fbah__expand { height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1.5px var(--make-ink); color: var(--make-ink); font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease); }
.make-fbah__expand:hover { background: var(--make-ink); color: #fff; }
.make-fbah__nomatch { margin: 4px 0; color: rgba(31,37,43,.65); }
.make-fbah__team { display: block; background: var(--make-paper); border-radius: 18px; box-shadow: inset 6px 0 0 var(--team); overflow: hidden; }
.make-fbah__team[hidden], .make-fbah__person[hidden] { display: none !important; }
.make-fbah__teamhead, .make-fbah__personhead { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 6px 14px; flex-wrap: wrap; }
.make-fbah__teamhead::-webkit-details-marker, .make-fbah__personhead::-webkit-details-marker { display: none; }
.make-fbah__teamhead { padding: 18px 22px 18px 28px; }
.make-fbah__teamdot { width: 14px; height: 14px; border-radius: 4px; background: var(--team); flex: 0 0 auto; }
.make-fbah__teamname { font-family: var(--make-display); font-weight: 800; font-size: 20px; line-height: 1.2; letter-spacing: -.01em; color: var(--make-ink); }
.make-fbah__teammeta, .make-fbah__pmeta { font-size: 13px; color: rgba(31,37,43,.65); }
.make-fbah__chev { margin-left: auto; width: 10px; height: 10px; border-right: 2px solid var(--make-ink); border-bottom: 2px solid var(--make-ink); transform: rotate(45deg) translate(-2px, -2px); transition: transform var(--make-dur) var(--make-ease); flex: 0 0 auto; }
details[open] > summary > .make-fbah__chev { transform: rotate(-135deg) translate(-2px, -2px); }
.make-fbah__members { display: flex; flex-direction: column; gap: 6px; padding: 0 16px 16px 22px; }
.make-fbah__person { display: block; background: #fff; border-radius: 14px; animation: none; }
.make-fbah__personhead { padding: 12px 18px; }
.make-fbah__pname { font-weight: 800; font-size: 15px; color: var(--make-ink); }
.make-fbah__personhead .make-fbah__chev { width: 8px; height: 8px; }
.make-fbah__person:not([open]):hover { box-shadow: 0 10px 24px -18px rgba(31,37,43,.45); }
.make-fbah__dates { display: flex; flex-direction: column; gap: 8px; padding: 0 12px 12px; }
.make-fbah__dates .make-fbah__entry { background: var(--make-paper); }
.make-fbah__dates .make-fbah__detail .make-fbf-history__item { background: #fff; }
body.make-ready .make-fbah__team { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 8) * .04s); }
body.make-ready .make-fbah__person { animation: none; }
.make-fbah__team[open] > .make-fbah__members > .make-fbah__person { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; }
.make-fbah__team[open] > .make-fbah__members > .make-fbah__person:nth-child(2) { animation-delay: .03s; }
.make-fbah__team[open] > .make-fbah__members > .make-fbah__person:nth-child(3) { animation-delay: .06s; }
.make-fbah__team[open] > .make-fbah__members > .make-fbah__person:nth-child(n+4) { animation-delay: .09s; }
.make-fbah__person[open] > .make-fbah__dates { animation: make-pop-in var(--make-dur) var(--make-ease) both; transform-origin: top center; }

/* v0.20.32: My courses — hide the Card/List/Summary view selector (our skin is card-only). */
.block_myoverview .dropdown:has(> #displaydropdown),
.block_myoverview .dropdown:has([data-display-option]),
.block_myoverview #displaydropdown { display: none !important; }

/* ===== v0.21.0 Course manager (course_manager.php) — modules (categories) + their courses ===== */
.make-cm { display: flex; flex-direction: column; gap: 22px; margin-top: 4px; }
.make-cm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.make-cm-lede { margin: 0; max-width: 60ch; color: rgba(31,37,43,.7); font-size: 15px; text-wrap: pretty; }
.make-cm-btn { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 15px; border: 0; border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.22); color: var(--make-ink) !important; font: 700 13px/1 var(--make-sans); text-decoration: none !important; white-space: nowrap; cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-cm-btn:hover { box-shadow: inset 0 0 0 1.5px var(--make-ink); }
.make-cm-btn:active, .make-cm-iconbtn:active { transform: scale(.96); }
.make-cm-btn--primary { background: var(--make-ink); box-shadow: none; color: #fff !important; }
.make-cm-btn--primary:hover { background: var(--make-blue); box-shadow: none; }
.make-cm-btn--danger { background: #c0182b; box-shadow: none; color: #fff !important; }
.make-cm-btn--danger:hover { background: #9e1224; box-shadow: none; }
.make-cm-btn--lg { height: 44px; padding: 0 22px; font-size: 14px; }
.make-cm-btn--onc { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--fg) 45%, transparent); color: var(--fg) !important; }
.make-cm-btn--onc:hover { background: color-mix(in srgb, var(--fg) 12%, transparent); box-shadow: inset 0 0 0 1.5px var(--fg); }
.make-cm-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--make-ink) !important; cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-cm-iconbtn:hover { background: rgba(31,37,43,.08); }
.make-cm-iconbtn--danger:hover { background: rgba(192,24,43,.1); color: #c0182b !important; }
.make-cm-iconbtn--onc { color: var(--fg) !important; }
.make-cm-iconbtn--onc:hover { background: color-mix(in srgb, var(--fg) 14%, transparent); color: var(--fg) !important; }
.make-cm-inlineform { display: contents; }

/* Overview grid */
.make-cm-modules { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.make-cm-module { display: flex; flex-direction: column; border-radius: 18px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.1); overflow: hidden; transition: transform var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease); }
.make-cm-module:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -20px rgba(31,37,43,.5); }
.make-cm-module__top { display: flex; flex-direction: column; gap: 6px; min-height: 150px; padding: 20px 22px; background: var(--c); color: var(--fg) !important; text-decoration: none !important; }
.make-cm-module__num { font: 800 13px/1 var(--make-display); letter-spacing: .12em; opacity: .75; }
.make-cm-module__name { margin-top: auto; font: 800 24px/1.1 var(--make-display); letter-spacing: -.015em; text-wrap: balance; }
.make-cm-module__meta { font-size: 13px; font-weight: 600; opacity: .85; }
.make-cm-module__actions { display: flex; align-items: center; gap: 2px; padding: 10px 12px; }
.make-cm-module__actions .make-cm-btn { margin-right: auto; }
.make-cm-module--add { align-items: center; justify-content: center; gap: 10px; min-height: 206px; border: 2px dashed rgba(31,37,43,.22); background: transparent; color: rgba(31,37,43,.7); font: 800 16px/1 var(--make-display); cursor: pointer; }
.make-cm-module--add:hover { border-color: var(--make-blue); color: var(--make-blue); box-shadow: none; }
.make-cm-module__plus { font-size: 34px; line-height: 1; }

/* One module */
.make-cm-back { align-self: flex-start; font-weight: 700; font-size: 14px; color: var(--make-ink) !important; text-decoration: none !important; }
.make-cm-back:hover { color: var(--make-blue) !important; }
.make-cm-modhead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; padding: 26px 28px; border-radius: 20px; background: var(--c); color: var(--fg); }
.make-cm-modhead__text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.make-cm-modhead__eyebrow { font: 700 11px/1 var(--make-display); letter-spacing: .2em; text-transform: uppercase; opacity: .8; }
.make-cm-modhead__name { margin: 0 !important; font: 800 clamp(28px, 4vw, 40px)/1.05 var(--make-display) !important; letter-spacing: -.02em !important; color: inherit !important; text-transform: none !important; }
.make-cm-modhead__name::before { content: none !important; }
.make-cm-modhead__desc { margin: 4px 0 0; max-width: 62ch; font-size: 15px; opacity: .9; }
.make-cm-modhead__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.make-cm-section { display: flex; flex-direction: column; gap: 10px; }
.make-cm-section--sub { padding: 18px; border-radius: 18px; background: var(--make-paper); box-shadow: inset 5px 0 0 var(--c); }
.make-cm-section__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.make-cm-section__title { display: flex; align-items: center; gap: 10px; margin: 0 !important; font: 800 20px/1.2 var(--make-display) !important; letter-spacing: -.01em !important; text-transform: none !important; color: var(--make-ink) !important; }
.make-cm-section__title::before { content: none !important; }
.make-cm-section__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.make-cm-section__actions .make-cm-btn--primary { margin-left: 6px; }
.make-cm-dot { width: 12px; height: 12px; border-radius: 4px; background: var(--c); }
.make-cm-count { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 22px; padding: 0 8px; border-radius: 999px; background: rgba(31,37,43,.08); font: 700 12px/1 var(--make-sans); }
.make-cm-courses { display: flex; flex-direction: column; gap: 8px; }
.make-cm-course { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 14px 14px 14px 24px; border-radius: 14px; background: #fff; border: 1px solid rgba(31,37,43,.08); overflow: hidden; animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 12) * 35ms); transition: box-shadow var(--make-dur) var(--make-ease); }
.make-cm-course:hover { box-shadow: 0 12px 26px -18px rgba(31,37,43,.45); }
.make-cm-course__bar { position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--c); }
.make-cm-course--hidden .make-cm-course__bar { opacity: .35; }
.make-cm-course__main { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.make-cm-course__name { font: 800 16px/1.25 var(--make-display); color: var(--make-ink) !important; text-decoration: none !important; }
.make-cm-course__name:hover { color: var(--make-blue) !important; }
.make-cm-course__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: rgba(31,37,43,.62); }
.make-cm-course__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.make-cm-course__actions .make-cm-btn + .make-cm-btn { margin-right: 6px; }
.make-cm-pill { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; }
.make-cm-pill--muted { background: rgba(31,37,43,.08); color: var(--make-ink); }
.make-cm-empty { margin: 0; padding: 18px; border-radius: 14px; border: 1.5px dashed rgba(31,37,43,.18); color: rgba(31,37,43,.6); text-align: center; }
.make-cm-addsub { align-self: flex-start; height: 44px; padding: 0 20px; border: 2px dashed rgba(31,37,43,.22); border-radius: 999px; background: transparent; font: 800 14px/1 var(--make-display); color: rgba(31,37,43,.7); cursor: pointer; transition: border-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease); }
.make-cm-addsub:hover { border-color: var(--make-blue); color: var(--make-blue); }

/* Dialogs */
.make-cm-dialog { width: min(560px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 20px; background: var(--make-paper); color: var(--make-ink); box-shadow: 0 30px 80px -30px rgba(31,37,43,.6); }
.make-cm-dialog[open] { animation: make-pop-in var(--make-dur) var(--make-ease) both; }
.make-cm-dialog::backdrop { background: rgba(31,37,43,.45); }
.make-cm-dialog form { display: flex; flex-direction: column; gap: 14px; padding: 26px 26px 22px; }
.make-cm-dialog__title { margin: 0 0 4px !important; font: 800 24px/1.1 var(--make-display) !important; letter-spacing: -.015em !important; text-transform: none !important; color: var(--make-ink) !important; }
.make-cm-dialog__title::before { content: none !important; }
.make-cm-dialog--danger .make-cm-dialog__title { color: #c0182b !important; }
.make-cm-dialog__text { margin: 0; font-size: 15px; line-height: 1.5; }
.make-cm-dialog__foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 6px; }
.make-cm-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.make-cm-field__label { font: 700 12px/1 var(--make-display); letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.7); }
.make-cm-field__hint { font-size: 12.5px; color: rgba(31,37,43,.6); }
.make-cm-input { width: 100%; min-height: 42px; padding: 9px 14px; border: 1.5px solid rgba(31,37,43,.18); border-radius: 12px; background: #fff; font: 500 15px/1.4 var(--make-sans); color: var(--make-ink); }
textarea.make-cm-input { resize: vertical; }
.make-cm-input:focus { outline: none; border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-cm-swatches { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.make-cm-swatch { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(31,37,43,.12); transition: transform var(--make-dur-fast) var(--make-ease), box-shadow var(--make-dur) var(--make-ease); }
.make-cm-swatch:hover { transform: translateY(-2px); }
.make-cm-swatch.is-on { box-shadow: 0 0 0 2px var(--make-paper), 0 0 0 4px var(--make-ink); }
.make-cm-color { width: 44px; height: 34px; padding: 2px; border: 1.5px solid rgba(31,37,43,.18); border-radius: 10px; background: #fff; cursor: pointer; }
.make-cm-toggle { display: flex; align-items: center; gap: 10px; margin: 0; font-weight: 600; cursor: pointer; }
.make-cm-toggle input { width: 18px; height: 18px; accent-color: var(--make-blue); }
/* v0.21.1: Course manager lives in Site Customizer › Courses — it saves on its own, so no "Save changes" there. */
.make-customizer[data-active-tab="courses"] .make-customizer__save { display: none !important; }
.make-customizer__tabpanel[data-tabpanel="courses"] .make-cm { margin-top: 18px; }
/* v0.21.2: Settings › Site administration tab (customizer.php) */
.make-customizer[data-active-tab="admin"] .make-customizer__save { display: none !important; }
.make-sa { display: flex; flex-direction: column; gap: 18px; margin-top: 18px; }
.make-sa__search { display: flex; flex-direction: column; gap: 14px; padding: 24px 26px; border-radius: 20px; background: var(--make-ink); color: #fff; }
.make-sa__searchtext { display: flex; flex-direction: column; gap: 6px; }
.make-sa__eyebrow { font: 700 11px/1 var(--make-display); letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.make-sa__title { font: 800 28px/1.1 var(--make-display); letter-spacing: -.02em; }
.make-sa__searchrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.make-sa__input { flex: 1 1 280px; min-width: 0; height: 46px; padding: 0 18px; border: 0; border-radius: 999px; background: #fff; color: var(--make-ink); font: 500 15px/1 var(--make-sans); }
.make-sa__input:focus { outline: none; box-shadow: 0 0 0 3px var(--make-cyan, #43e7f9); }
.make-sa__go { height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--make-blue); color: #fff; font: 700 14px/1 var(--make-sans); cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-sa__go:hover { background: #2a4dff; }
.make-sa__go:active { transform: scale(.97); }
.make-sa__all { margin-left: auto; font-weight: 700; font-size: 14px; color: #fff !important; text-decoration: none !important; opacity: .85; }
.make-sa__all:hover { opacity: 1; text-decoration: underline !important; }
.make-sa__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.make-sa__card { position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 120px; padding: 22px 20px 18px; border-radius: 16px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.1); color: var(--make-ink) !important; text-decoration: none !important; overflow: hidden; animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 12) * 40ms); transition: transform var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease); }
.make-sa__card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(31,37,43,.5); }
.make-sa__bar { position: absolute; top: 0; left: 0; right: 0; height: 6px; background: var(--c); }
.make-sa__cardtitle { font: 800 18px/1.2 var(--make-display); letter-spacing: -.01em; }
.make-sa__carddesc { font-size: 13.5px; line-height: 1.45; color: rgba(31,37,43,.65); }

/* v0.21.3: Feedback radar (fb_radar.php) — profile page "Feedback profile" card + My history */
.make-radar { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; padding: 18px 18px 14px; border-radius: 16px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.1); max-width: 640px; }
.make-radar__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
.make-radar__title { font: 800 18px/1.2 var(--make-display); letter-spacing: -.01em; color: var(--make-ink); }
.make-radar__cycle { font-size: 13px; font-weight: 700; color: rgba(31,37,43,.65); }
.make-radar__pick { height: 34px; padding: 0 30px 0 12px; border: 1.5px solid rgba(31,37,43,.18); border-radius: 999px; background: #fff; font: 700 13px/1 var(--make-sans); color: var(--make-ink); }
.make-radar__legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 13px; font-weight: 700; color: var(--make-ink); }
.make-radar__key { display: inline-flex; align-items: center; gap: 7px; }
.make-radar__key::before { content: ""; width: 18px; height: 4px; border-radius: 2px; background: var(--k); }
.make-radar__key--self { --k: #1439f5; }
.make-radar__key--leader { --k: #ff27e1; }
.make-radar__note { margin-left: auto; font-weight: 600; font-size: 12px; color: rgba(31,37,43,.6); }
.make-radar__svg { display: block; width: 100%; height: auto; max-width: 520px; margin: 0 auto; overflow: visible; }
.make-radar__ring { fill: none; stroke: rgba(31,37,43,.12); stroke-width: 1; }
.make-radar__spoke { stroke: rgba(31,37,43,.12); stroke-width: 1; }
.make-radar__scale { font: 600 10px/1 var(--make-sans); fill: rgba(31,37,43,.45); }
.make-radar__label { font: 700 12px/1.2 var(--make-display); fill: var(--make-ink); }
.make-radar__shape { stroke-width: 3; stroke-linejoin: round; }
.make-radar__series--self .make-radar__shape { stroke: #1439f5; fill: rgba(20,57,245,.12); }
.make-radar__series--leader .make-radar__shape { stroke: #ff27e1; fill: rgba(255,39,225,.12); }
.make-radar__series--self .make-radar__dot { fill: #1439f5; }
.make-radar__series--leader .make-radar__dot { fill: #ff27e1; }
.make-radar__dot { stroke: #fff; stroke-width: 2; cursor: default; }
.make-radar__series { transform-origin: 50% 51%; transform-box: view-box; animation: make-radar-grow .7s var(--make-ease) backwards; }
.make-radar__series--leader { animation-delay: .12s; }
@keyframes make-radar-grow { from { transform: scale(0); opacity: 0; } to { transform: none; opacity: 1; } }
.make-radar__table { width: 100%; margin-top: 4px; border-collapse: collapse; font-size: 13px; }
.make-radar__table th { padding: 6px 8px; font: 700 11px/1 var(--make-display); letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.6); text-align: left; border-bottom: 1px solid rgba(31,37,43,.12); }
.make-radar__table td { padding: 7px 8px; border-bottom: 1px solid rgba(31,37,43,.06); }
.make-radar__table th:not(:first-child), .make-radar__table td:not(:first-child) { text-align: right; width: 60px; font-variant-numeric: tabular-nums; }
.make-radar__table td:nth-child(2) { color: #1439f5; font-weight: 700; }
.make-radar__table td:nth-child(3) { color: #c400ab; font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .make-radar__series { animation: none; } }
/* v0.21.4: radar inside the team member profile card (real data, not sample) */
.make-team-member__card--radar .make-radar { margin: 0; padding: 0; border: 0; background: none; max-width: none; }
.make-team-member__card--radar .make-radar__head { justify-content: flex-end; margin-top: -30px; }
.make-team-member__card--radar .make-radar__svg { max-width: 480px; }
.make-team-member__card--radar .make-radar__table { max-width: 520px; margin: 4px auto 0; }
/* v0.21.6: sample radar badge (same look as the client-tabs "Sample data" tag) */
.make-radar__sample { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; background: rgba(244,159,22,.18); color: #8a5600; font: 700 11px/1 var(--make-display); letter-spacing: .1em; text-transform: uppercase; }
.make-radar__head { gap: 8px 10px; }
.make-radar__head .make-radar__pick { margin-left: auto; }

/* ===== v0.22.0 PDF viewer (buildPdfViewer() in hero.js) — File activities that hold a PDF ===== */
.make-pdf-native { display: none !important; }
body.make-has-pdf #region-main .resourceworkaround, body.make-has-pdf #region-main .resourcedetails { display: none !important; }
.make-pdf { display: flex; flex-direction: column; margin: 8px 0 24px; border-radius: 20px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.1); overflow: hidden; box-shadow: 0 24px 50px -36px rgba(31,37,43,.5); animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; }
.make-pdf__bar { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; padding: 12px 14px 12px 18px; background: var(--make-ink); color: #fff; }
.make-pdf__file { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1 1 240px; }
.make-pdf__badge { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: #ff27e1; color: #fff; font: 800 11px/1 var(--make-display); letter-spacing: .08em; }
.make-pdf__filetext { min-width: 0; }
.make-pdf__name { font: 800 16px/1.2 var(--make-display); letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.make-pdf__meta { margin-top: 3px; font-size: 12.5px; color: rgba(255,255,255,.65); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.make-pdf__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.make-pdf__group { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 999px; background: rgba(255,255,255,.08); }
.make-pdf__btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #fff !important; cursor: pointer; text-decoration: none !important; transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-pdf__btn:hover { background: rgba(255,255,255,.14); }
.make-pdf__btn:active, .make-pdf__zoom:active, .make-pdf__dl:active { transform: scale(.94); }
.make-pdf__pageno { display: inline-flex; align-items: center; gap: 6px; margin: 0 4px; font-size: 13px; color: rgba(255,255,255,.75); }
.make-pdf__pageno input { width: 42px; height: 28px; padding: 0; border: 0; border-radius: 8px; background: rgba(255,255,255,.14); color: #fff; font: 700 13px/1 var(--make-sans); text-align: center; }
.make-pdf__pageno input:focus { outline: none; box-shadow: 0 0 0 2px #43e7f9; }
.make-pdf__pageno b { color: #fff; }
.make-pdf__zoom { min-width: 58px; height: 34px; padding: 0 8px; border: 0; border-radius: 999px; background: transparent; color: #fff; font: 700 13px/1 var(--make-sans); font-variant-numeric: tabular-nums; cursor: pointer; transition: background-color var(--make-dur) var(--make-ease); }
.make-pdf__zoom:hover { background: rgba(255,255,255,.14); }
.make-pdf__dl { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px 0 12px; margin-left: 2px; border-radius: 999px; background: var(--make-blue); color: #fff !important; font: 700 13px/1 var(--make-sans); text-decoration: none !important; transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-pdf__dl:hover { background: #2a4dff; }
.make-pdf__body { display: flex; height: max(520px, calc(100vh - 240px)); }
.make-pdf__thumbs { flex: 0 0 156px; display: flex; flex-direction: column; gap: 14px; padding: 18px 14px; overflow-y: auto; border-right: 1px solid rgba(31,37,43,.08); background: rgba(31,37,43,.03); transition: flex-basis .26s var(--make-ease), padding .26s var(--make-ease), opacity .2s ease; }
.make-pdf.is-thumbs-off .make-pdf__thumbs { flex-basis: 0; padding-left: 0; padding-right: 0; opacity: 0; overflow: hidden; border-right: 0; }
.make-pdf__thumb { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.make-pdf__thumbimg { display: block; width: 100%; min-height: 150px; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px rgba(31,37,43,.1); overflow: hidden; transition: box-shadow var(--make-dur) var(--make-ease), transform var(--make-dur) var(--make-ease); }
.make-pdf__thumbimg:has(canvas) { min-height: 0; }
.make-pdf__thumbimg canvas { display: block; width: 100%; height: auto; }
.make-pdf__thumb:hover .make-pdf__thumbimg { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(31,37,43,.2), 0 8px 18px -10px rgba(31,37,43,.4); }
.make-pdf__thumb.is-on .make-pdf__thumbimg { box-shadow: 0 0 0 3px var(--make-blue); }
.make-pdf__thumbno { font: 700 11.5px/1 var(--make-sans); color: rgba(31,37,43,.6); }
.make-pdf__thumb.is-on .make-pdf__thumbno { color: var(--make-blue); }
.make-pdf__stage { flex: 1 1 auto; min-width: 0; overflow: auto; padding: 24px; background: #ece4d8; outline: none; scroll-behavior: smooth; }
.make-pdf__pages { display: flex; flex-direction: column; align-items: center; gap: 18px; min-width: min-content; }
.make-pdf__page { position: relative; flex: 0 0 auto; background: #fff; border-radius: 4px; box-shadow: 0 1px 2px rgba(31,37,43,.12), 0 14px 30px -18px rgba(31,37,43,.45); overflow: hidden; }
.make-pdf__page::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(31,37,43,.05) 50%, transparent 70%) 0 0 / 300% 100%; animation: make-pdf-shimmer 1.4s linear infinite; }
.make-pdf__page.is-ready::before { content: none; }
.make-pdf__page canvas { display: block; width: 100%; height: 100%; animation: make-fade-in .25s ease both; }
.make-pdf.is-loading .make-pdf__stage::after { content: "Loading document…"; display: block; margin: 80px auto; text-align: center; font: 700 14px/1 var(--make-sans); color: rgba(31,37,43,.55); }
@keyframes make-pdf-shimmer { to { background-position: -150% 0; } }
@media (max-width: 900px) { .make-pdf__thumbs { display: none; } .make-pdf__btn--thumbs { display: none; } .make-pdf__stage { padding: 14px; } }
@media (prefers-reduced-motion: reduce) { .make-pdf__page::before { animation: none; } }
/* v0.22.1: PDF viewer full screen — the whole viewer fills the screen, square corners, body takes all the height */
.make-pdf:fullscreen, .make-pdf.is-fs { margin: 0; border: 0; border-radius: 0; box-shadow: none; width: 100vw; height: 100vh; animation: none; }
.make-pdf.is-fs .make-pdf__body { height: auto; flex: 1 1 auto; min-height: 0; }
.make-pdf::backdrop { background: #ece4d8; }
/* v0.22.2: team / people card photos — keep them as crisp as the file allows */
.make-fb-usercard__photo img { image-rendering: auto; } /* v0.22.3: no forced GPU layer — it made downscaling worse */

/* ===== v0.22.4 CENTRING — one rule set for every page =====
   1) Our left nav drawer is 250px wide. It was offset with margin-left on #page, which only works when
      #page's own width/positioning cooperates (Boost makes it fixed/100%-wide on some layouts and not
      others) — so some pages centred on the whole window and others on the space beside the drawer.
      Padding on a border-box #page always leaves exactly (window − drawer) for the content.
   2) Every wrapper in the chain (Boost nests 5–6 of them) centres its child with auto margins, so a
      page that widens one level (Role changes, Feedback form, Start cycle, client tabs…) still sits in
      the middle instead of growing out to the right. */
body.make-has-drawer #page,
body.make-has-drawer #page.drawers {
    margin-left: 0 !important;
    padding-left: 250px !important;
    box-sizing: border-box !important;
}
body.make-has-drawer.make-drawer-collapsed #page { padding-left: 0 !important; }
@media (max-width: 900px) { body.make-has-drawer #page { padding-left: 0 !important; } }
#topofscroll,
#page .main-inner,
#page-header,
#page-header .header-maxwidth,
#page-content,
#region-main-box,
#region-main {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}
#region-main-box > #region-main { width: 100% !important; max-width: 100%; }
/* Pages that widen their column widen the whole chain, so header and content stay the same width. */
body#page-theme-make-fb_cycle_start .main-inner, body#page-theme-make-fb_cycle_start #topofscroll { max-width: 1240px !important; }
body#page-theme-make-fb_fill .main-inner, body#page-theme-make-fb_fill #topofscroll,
body#page-theme-make-rc_calendar #topofscroll { max-width: 1280px !important; }

/* ===== v0.22.6 Members screen redesign (fb_members.php) =====
   Pills per division, avatar = selection toggle, selected row = blue pill, search + info above. */
.make-fbmem-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 6px 0 18px; }
.make-fbmem-search { display: flex; align-items: center; gap: 8px; margin: 0; flex: 0 1 460px; }
.make-fbmem-search__label { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; background: var(--make-ink); color: #fff; font: 700 14px/1 var(--make-sans); }
.make-fbmem-search__input { flex: 1 1 auto; min-width: 0; height: 34px; padding: 0 16px; border: 1.5px solid rgba(31,37,43,.25); border-radius: 999px; background: #fff; font: 500 14px/1 var(--make-sans); color: var(--make-ink); }
.make-fbmem-search__input:focus { outline: none; border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-fbmem-count { font-size: 12.5px; font-weight: 600; color: rgba(31,37,43,.55); }
.make-fbmem-info { position: relative; margin-left: auto; }
.make-fbmem-info__btn { list-style: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--make-ink); color: #fff; font: 800 15px/1 Georgia, serif; font-style: italic; cursor: pointer; transition: transform var(--make-dur-fast) var(--make-ease), background-color var(--make-dur) var(--make-ease); }
.make-fbmem-info__btn::-webkit-details-marker { display: none; }
.make-fbmem-info__btn:hover { background: var(--make-blue); }
.make-fbmem-info[open] .make-fbmem-info__btn { background: var(--make-blue); }
.make-fbmem-info__panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; width: min(380px, 80vw); padding: 16px 18px; border-radius: 14px; background: var(--make-ink); color: #fff; font-size: 13.5px; line-height: 1.5; box-shadow: 0 20px 40px -20px rgba(31,37,43,.6); animation: make-pop-in var(--make-dur) var(--make-ease) both; transform-origin: top right; }

.make-fbmem-bulk { position: sticky; top: 64px; z-index: 25; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 14px; padding: 10px 12px 10px 16px; border-radius: 999px; background: var(--make-ink); color: #fff; box-shadow: 0 16px 30px -18px rgba(31,37,43,.6); animation: make-rise-in var(--make-dur) var(--make-ease) backwards; }
.make-fbmem-bulk[hidden] { display: none !important; }
.make-fbmem-bulk__count { font: 800 14px/1 var(--make-display); margin-right: 6px; }
.make-fbmem-bulk__label { font-size: 13px; color: rgba(255,255,255,.75); }
.make-fbmem-bulk select { width: auto !important; max-width: 220px; height: 32px; padding: 0 30px 0 12px !important; border: 0 !important; border-radius: 999px !important; font-size: 13px !important; }
.make-fbmem-bulk__apply, .make-fbmem-bulk__clear { height: 32px; padding: 0 14px; border: 0; border-radius: 999px; font: 700 13px/1 var(--make-sans); cursor: pointer; }
.make-fbmem-bulk__apply { background: var(--make-blue); color: #fff; }
.make-fbmem-bulk__apply:hover { background: #2a4dff; }
.make-fbmem-bulk__clear { margin-left: auto; background: transparent; color: rgba(255,255,255,.8); }
.make-fbmem-bulk__clear:hover { color: #fff; text-decoration: underline; }

#page-content table.make-fbmem { width: 100%; border-collapse: separate !important; border-spacing: 0 6px; overflow: visible !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.make-fbmem thead th { padding: 10px 14px !important; background: rgba(31,37,43,.05) !important; border: 0 !important; font: 700 13px/1 var(--make-display) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--make-ink) !important; text-align: left; white-space: nowrap; }
.make-fbmem thead th:first-child { border-radius: 12px 0 0 12px; padding-left: 56px !important; }
.make-fbmem thead th:last-child { border-radius: 0 12px 12px 0; }
.make-fbmem tbody td { padding: 8px 14px !important; border: 0 !important; background: transparent; vertical-align: middle; transition: background-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease); }
.make-fbmem tbody td + td { box-shadow: inset 1px 0 0 rgba(31,37,43,.12); }
.make-fbmem tbody tr:hover td { background: rgba(31,37,43,.035); }
.make-fbmem tbody td:first-child { border-radius: 999px 0 0 999px; }
.make-fbmem tbody td:last-child { border-radius: 0 999px 999px 0; }
.make-fbmem-cell--name { min-width: 220px; }
.make-fbmem-cell--name { display: table-cell; }
.make-fbmem-pick { position: relative; display: inline-flex; vertical-align: middle; margin: 0 12px 0 -6px; cursor: pointer; }
.make-fbmem-pick input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.make-fbmem-avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px transparent; transition: box-shadow var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-fbmem-pick:hover .make-fbmem-avatar { box-shadow: 0 0 0 2px var(--make-blue); }
.make-fbmem-pick:active .make-fbmem-avatar { transform: scale(.92); }
.make-fbmem-pick input:focus-visible + .make-fbmem-avatar { box-shadow: 0 0 0 3px var(--make-blue); }
.make-fbmem-name { font: 800 15px/1.2 var(--make-display); color: var(--make-ink); vertical-align: middle; }

/* Division pills — the pickers' summaries, one colour per column. */
.make-fbmem .make-fb-teampick { display: inline-block; width: auto; max-width: 100%; }
.make-fbmem .make-fb-teampick__summary { display: inline-flex !important; align-items: center; width: auto !important; max-width: 220px; min-height: 0 !important; height: 26px; padding: 0 12px !important; border: 0 !important; border-radius: 999px !important; background-image: none !important; background-color: var(--pill, #e9e3da) !important; color: var(--pill-ink, var(--make-ink)) !important; font: 700 12.5px/1 var(--make-sans) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: none !important; cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-fbmem .make-fb-teampick__summary:hover { transform: translateY(-1px); }
.make-fbmem .make-fb-teampick__summary::-webkit-details-marker { display: none; }
.make-fbmem-cell--team { --pill: #8a3ffc; --pill-ink: #fff; }
.make-fbmem-cell--role { --pill: #f49f16; --pill-ink: var(--make-ink); }
.make-fbmem-cell--subrole { --pill: #1439f5; --pill-ink: #fff; }
.make-fbmem-cell--position { --pill: #43e7f9; --pill-ink: var(--make-ink); }
.make-fbmem .make-fb-teampick--disabled > .make-fb-teampick__summary { opacity: .45; cursor: not-allowed; }
/* Empty values read as a quiet outline, not a coloured pill. */
.make-fbmem-cell .make-fb-teampick__summary:is(:empty) { --pill: transparent; }
/* Reports to: the team leader's photo + name, no pill. */
.make-fbmem .make-fbmem-mgr { --pill: transparent; --pill-ink: var(--make-ink); gap: 8px; padding: 0 4px 0 0 !important; height: 30px; max-width: 200px; }
.make-fbmem-mgr__img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.make-fbmem-mgr__name { font: 700 13px/1 var(--make-sans); overflow: hidden; text-overflow: ellipsis; }
.make-fbmem-mgr__none { font-weight: 600; color: rgba(31,37,43,.45); }
.make-fbmem .make-fb-teampick__panel { z-index: 40; }

/* Selected row = one blue pill: pills turn white with ink text, other text white. */
.make-fbmem tbody tr.is-selected td, .make-fbmem tbody tr.is-selected:hover td { background: var(--make-blue); color: #fff; box-shadow: none; }
.make-fbmem tbody tr.is-selected .make-fbmem-name, .make-fbmem tbody tr.is-selected .make-fbmem-mgr__name, .make-fbmem tbody tr.is-selected .make-fbmem-mgr__none { color: #fff; }
.make-fbmem tbody tr.is-selected .make-fbmem-cell:not(.make-fbmem-cell--mgr) .make-fb-teampick__summary { --pill: #fff; --pill-ink: var(--make-ink); }
.make-fbmem tbody tr.is-selected .make-fbmem-cell--mgr .make-fb-teampick__summary { color: #fff !important; }
.make-fbmem tbody tr.is-selected .make-fbmem-avatar { box-shadow: 0 0 0 2px #fff; }

.make-fbmem-savebar { position: sticky; bottom: 16px; display: flex; justify-content: flex-end; margin-top: 18px; z-index: 20; pointer-events: none; }
.make-fbmem-save { pointer-events: auto; height: 44px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--make-ink); color: #fff; font: 700 14px/1 var(--make-sans); cursor: pointer; box-shadow: 0 16px 30px -16px rgba(31,37,43,.6); transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-fbmem-save:hover { background: var(--make-blue); }
.make-fbmem-save:active { transform: scale(.97); }
@media (max-width: 1100px) { #page-content table.make-fbmem { display: block; overflow-x: auto !important; } }
/* v0.22.7 Members fixes: wider column so the table, search and selection bar line up; selection bar = one
   row, same height as a selected member row; pills keep each value's own colour; empty = quiet outline. */
body#page-theme-make-fb_members #topofscroll, body#page-theme-make-fb_members .main-inner,
body#page-theme-make-fb_members #page-header, body#page-theme-make-fb_members #page-content,
body#page-theme-make-fb_members #region-main { max-width: 1280px !important; }
.make-fbmem-bulk { flex-wrap: nowrap; gap: 10px; min-height: 50px; height: 50px; padding: 0 8px 0 18px; overflow: hidden; }
.make-fbmem-bulk__count { flex: 0 0 auto; margin-right: 2px; white-space: nowrap; }
.make-fbmem-bulk__label { flex: 0 0 auto; white-space: nowrap; }
.make-fbmem-bulk select { flex: 0 1 200px; min-width: 120px; }
.make-fbmem-bulk__apply { flex: 0 0 auto; white-space: nowrap; }
.make-fbmem-bulk__clear { flex: 0 0 auto; white-space: nowrap; }
.make-fbmem .make-fb-teampick__summary.make-fbmem-empty { --pill: transparent !important; --pill-ink: rgba(31,37,43,.35) !important; box-shadow: none !important; padding: 0 4px !important; font-weight: 600 !important; }
.make-fbmem tbody tr.is-selected .make-fbmem-cell:not(.make-fbmem-cell--mgr) .make-fb-teampick__summary { --pill: #fff !important; --pill-ink: var(--make-ink) !important; }
.make-fbmem tbody tr.is-selected .make-fb-teampick__summary.make-fbmem-empty { --pill: transparent !important; --pill-ink: rgba(255,255,255,.6) !important; box-shadow: none !important; }
.make-fbmem tbody tr.is-selected .make-fbmem-mgr__none { color: rgba(255,255,255,.6) !important; }
/* v0.22.8: every "— none —" reads the same as Reports to's: faint plain text, no pill, no outline. */
.make-fbmem-mgr__none { font: 600 12.5px/1 var(--make-sans); color: rgba(31,37,43,.35); }
/* v0.22.9: selection bar — guaranteed single row (Clear selection beside Apply), roomier controls. */
#make-fbmem-bulk.make-fbmem-bulk { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; height: 50px; padding: 0 10px 0 20px !important; gap: 10px !important; }
#make-fbmem-bulk.make-fbmem-bulk[hidden] { display: none !important; }
#make-fbmem-bulk select.form-select { flex: 0 1 210px !important; width: auto !important; min-width: 130px; height: 34px !important; padding: 0 40px 0 16px !important; background-position: right 14px center !important; text-overflow: ellipsis; }
#make-fbmem-bulk .make-fbmem-bulk__apply { height: 34px; padding: 0 18px; }
#make-fbmem-bulk .make-fbmem-bulk__clear { height: 34px; padding: 0 16px; margin-left: auto; }
/* v0.22.10: Members — row dividers instead of column dividers (matches the rest of the site's tables). */
.make-fbmem tbody td + td { box-shadow: none !important; }
#page-content table.make-fbmem { border-spacing: 0 !important; }
.make-fbmem tbody td { border-bottom: 1px solid rgba(31,37,43,.1) !important; border-radius: 0 !important; padding-top: 10px !important; padding-bottom: 10px !important; }
.make-fbmem tbody tr:last-child td { border-bottom-color: transparent !important; }
.make-fbmem thead th { border-bottom: 0 !important; }
.make-fbmem thead tr + tr th, .make-fbmem tbody tr:first-child td { border-top: 6px solid transparent; background-clip: padding-box; }
/* Hover + selected rows keep the rounded pill; the divider hides under them. */
.make-fbmem tbody tr:hover td:first-child, .make-fbmem tbody tr.is-selected td:first-child { border-radius: 999px 0 0 999px !important; }
.make-fbmem tbody tr:hover td:last-child, .make-fbmem tbody tr.is-selected td:last-child { border-radius: 0 999px 999px 0 !important; }
.make-fbmem tbody tr.is-selected td { border-bottom-color: transparent !important; }
.make-fbmem tbody tr:has(+ tr.is-selected) td { border-bottom-color: transparent !important; }
.make-fbmem tbody tr.is-selected + tr.is-selected td { box-shadow: inset 0 3px 0 var(--make-cream) !important; }
/* v0.22.11 centring, from the measured layout: #page is a FLEX container, so "margin:auto" alone didn't
   centre #topofscroll on wide screens. Give it a real width + align-self so both flex directions centre it. */
#page > #topofscroll, #page.drawers > #topofscroll {
    width: 100% !important;
    flex: 0 1 auto !important;
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* Members: the table was wider than its column (983px in a 721px column with the block drawer open) and
   spilled out to the right — that's what pulled the page off-centre. It now fits: names wrap, pills
   truncate, tighter cells; only below ~900px of column does it scroll sideways inside its own box. */
#page-content table.make-fbmem { width: 100% !important; max-width: 100%; table-layout: auto; }
.make-fbmem-cell--name { min-width: 0 !important; }
.make-fbmem-name { white-space: normal; }
.make-fbmem tbody td, .make-fbmem thead th { padding-left: 10px !important; padding-right: 10px !important; }
.make-fbmem .make-fb-teampick__summary { max-width: 150px; }
.make-fbmem .make-fbmem-mgr { max-width: 170px; }
.make-fbmem-wrap { width: 100%; }
@media (max-width: 1100px) { #page-content table.make-fbmem { display: table !important; overflow: visible !important; } }
/* v0.22.12: the table can never push the page — if it can't fit, it scrolls inside its own box. */
.make-fbmem-wrap { width: 100%; max-width: 100%; overflow-x: auto; overflow-y: visible; padding-bottom: 4px; }
.make-fbmem .make-fb-teampick__summary { max-width: 130px; }
.make-fbmem .make-fbmem-mgr { max-width: 150px; }
/* v0.22.13: the measured cause — Boost keeps 48px (3rem) of padding-right on #page while our left offset
   replaced its padding-left, so every page had 39px on the left and 87px on the right. Zero it, so the
   column's own 24px gutters are the only side spacing and both sides match. */
body.make-has-drawer #page, body.make-has-drawer #page.drawers { padding-right: 0 !important; }
/* v0.22.14: empty right block drawer → no reserved space, no drawer, no toggle (see fixEmptyBlockDrawer()). */
body.make-no-blocks #page.drawers.show-drawer-right, body.make-no-blocks #page.show-drawer-right { margin-right: 0 !important; }
body.make-no-blocks #theme_boost-drawers-blocks, body.make-no-blocks .drawer.drawer-right,
body.make-no-blocks [data-toggler="drawers"][data-target="theme_boost-drawers-blocks"],
body.make-no-blocks .drawer-right-toggle { display: none !important; }
/* v0.22.15: a bit more room for the leader's name before it truncates. */
.make-fbmem .make-fbmem-mgr { max-width: 190px; }
/* v0.22.17: our own screens (Members, Management, Teams, Feedback, Settings…) never use the right block
   drawer, but Moodle carries its "open" state over from other pages and still reserves 315px for it
   (sometimes with an empty or blank drawer the check above can't see). On these pages, outside edit
   mode, the drawer, its toggle and the reserved space are gone — the column always centres. */
body[id^="page-theme-make-"]:not(.editing) #page.drawers.show-drawer-right,
body[id^="page-theme-make-"]:not(.editing) #page.show-drawer-right { margin-right: 0 !important; }
body[id^="page-theme-make-"]:not(.editing) #theme_boost-drawers-blocks,
body[id^="page-theme-make-"]:not(.editing) .drawer.drawer-right,
body[id^="page-theme-make-"]:not(.editing) [data-toggler="drawers"][data-target="theme_boost-drawers-blocks"],
body[id^="page-theme-make-"]:not(.editing) .drawer-right-toggle { display: none !important; }

/* ===== v0.22.18 Feedback templates / Feedback cycles / Acuerdos history in the My-feedback language ===== */
.make-fbm--page { max-width: 980px; margin: 0 auto; gap: 40px; }
.make-fbm-banner--compact { padding: 40px 46px 42px; }
.make-fbm-banner--compact .make-fbm-title { font-size: clamp(36px, 5vw, 52px) !important; }
.make-fbm-banner--compact .make-fbm-body { margin-top: 24px !important; font-size: 18px; }
.make-fbm-banner--compact .make-fbm-actions { margin-top: 24px; }
.make-fbm-btn--onblue { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.85); }
.make-fbm-btn--onblue:hover { background: rgba(255,255,255,.12); gap: 12px; }
.make-fbm-eyebrow__count { margin-left: 10px; padding: 3px 9px; border-radius: 999px; background: var(--make-ink); color: #fff; font-size: 11px; letter-spacing: .04em; vertical-align: 2px; }
.make-fbm--page .make-fbm-history { animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 8) * 60ms + 80ms); }
.make-fbm--page .make-fbm-row { transition: transform var(--make-dur) var(--make-ease), background-color var(--make-dur) var(--make-ease); padding-left: 4px; padding-right: 4px; }
.make-fbm--page .make-fbm-row:hover { transform: translateX(3px); }
.make-fbm-row__links { flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.make-fbm-row__delete { color: #c0182b !important; text-decoration: none !important; }
.make-fbm-row__delete:hover { color: #9e1224 !important; }
.make-fbm-row--missing .make-fbm-row__name { color: rgba(31,37,43,.7); font-style: italic; }
.make-fbm-row--missing { background: rgba(244,159,22,.07); border-radius: 12px; border-bottom-color: transparent !important; margin: 4px 0; padding-left: 14px !important; padding-right: 14px !important; }

/* Cycles: progress under the meta line, due date as a pill. */
.make-fbm-cycle__progress { display: flex; align-items: center; gap: 12px; margin-top: 8px; max-width: 360px; }
.make-fbm-cycle__track { flex: 1 1 auto; height: 6px; border-radius: 999px; background: rgba(31,37,43,.1); overflow: hidden; }
.make-fbm-cycle__bar { height: 100%; border-radius: 999px; background: var(--make-blue); transition: width .6s cubic-bezier(.2,.7,.2,1); }
.make-fbm-cycle__count { font-size: 12.5px; font-weight: 700; color: rgba(31,37,43,.62); white-space: nowrap; }
.make-fbm-cycle__due { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 3px 4px 3px 12px; border-radius: 999px; background: rgba(31,37,43,.06); }
.make-fbm-cycle__duelabel { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-fbm-cycle__due .make-fb-duedate__input { height: 28px; border: 0 !important; background: transparent !important; font: 700 13.5px/1 var(--make-sans); color: var(--make-ink); padding: 0 4px; box-shadow: none !important; }
.make-fbm-cycle__due .make-fb-duedate__save { height: 26px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--make-blue); color: #fff; font: 700 12px/1 var(--make-sans); cursor: pointer; }
@media (max-width: 760px) { .make-fbm-row--cycle { grid-template-columns: 12px minmax(0,1fr); } .make-fbm-row--cycle .make-fbm-row__links { grid-column: 2; justify-content: flex-start; } }

/* Acuerdos: team = coloured team pill (like "Teams ready to print"), person = My-feedback row. */
.make-fbm--page .make-fbah { margin-top: 0; }
.make-fbm .make-fbah__team { border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; }
.make-fbm .make-fbah__team + .make-fbah__team { margin-top: 14px; }
.make-fbm .make-fbah__teamhead { position: relative; overflow: hidden; list-style: none; display: flex !important; align-items: center; gap: 16px; padding: 20px 28px 20px 34px !important; border-radius: 999px !important; background: var(--team) !important; color: var(--team-ink, #fff) !important; cursor: pointer; --make-fbm-dot: rgba(0,0,0,.14); transition: transform var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease); }
.make-fbm .make-fbah__teamhead::-webkit-details-marker { display: none; }
.make-fbm .make-fbah__teamhead > *:not(.make-fbm-banner__dots) { position: relative; }
.make-fbm .make-fbah__teamhead:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -18px rgba(31,37,43,.55); }
.make-fbm .make-fbah__teamdot { display: none !important; }
.make-fbm .make-fbah__teamname { font-family: var(--make-display); font-weight: 800; font-size: clamp(22px, 2.8vw, 30px); line-height: 1.05; letter-spacing: -.01em; color: inherit !important; }
.make-fbm .make-fbah__teamhead .make-fbm-teampill__sep { height: 1.4em; }
.make-fbm .make-fbah__teammeta { font-family: var(--make-display); font-weight: 500; font-size: 17px; color: inherit !important; opacity: .9; }
.make-fbm .make-fbah__teamhead .make-fbah__chev { margin-left: auto; width: 34px; height: 34px; border-radius: 50%; background: var(--team-ink, #fff); flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; }
.make-fbm .make-fbah__teamhead .make-fbah__chev::before { content: ""; width: 9px; height: 9px; border-right: 2.5px solid var(--team); border-bottom: 2.5px solid var(--team); transform: translateY(-2px) rotate(45deg); transition: transform var(--make-dur) var(--make-ease); border-top: 0; border-left: 0; }
.make-fbm .make-fbah__team[open] > .make-fbah__teamhead .make-fbah__chev::before { transform: translateY(2px) rotate(-135deg); }
.make-fbm .make-fbah__members { padding: 8px 6px 4px 24px !important; border: 0 !important; background: none !important; display: flex; flex-direction: column; }
.make-fbm .make-fbah__person { gap: 0 !important; border-bottom: 1px solid rgba(31,37,43,.12); }
.make-fbm .make-fbah__personhead { list-style: none; display: grid !important; grid-template-columns: 12px minmax(0,1fr) auto 24px; align-items: center; gap: 16px; padding: 16px 4px !important; background: none !important; border: 0 !important; cursor: pointer; transition: transform var(--make-dur) var(--make-ease); }
.make-fbm .make-fbah__personhead::-webkit-details-marker { display: none; }
.make-fbm .make-fbah__personhead:hover { transform: translateX(3px); }
.make-fbm .make-fbah__personhead .make-fbm-row__dot { background: var(--team); }
.make-fbm .make-fbah__pname { font-family: var(--make-display); font-weight: 800; font-size: 18px; color: var(--make-ink); }
.make-fbm .make-fbah__pmeta { font-size: 14px; color: rgba(31,37,43,.62); }
.make-fbm .make-fbah__personhead .make-fbah__chev { width: 10px; height: 10px; border-right: 2px solid var(--make-ink); border-bottom: 2px solid var(--make-ink); transform: rotate(45deg); justify-self: center; transition: transform var(--make-dur) var(--make-ease); background: none; }
.make-fbm .make-fbah__personhead .make-fbah__chev::before { display: none; }
.make-fbm .make-fbah__person[open] > .make-fbah__personhead .make-fbah__chev { transform: rotate(-135deg); }
.make-fbm .make-fbah__dates { display: flex; flex-direction: column; gap: 8px; padding: 0 0 16px 28px; }
.make-fbm .make-fbah__tools { margin-bottom: 16px; }
@media (max-width: 600px) { .make-fbm .make-fbah__teamhead { border-radius: 26px !important; flex-wrap: wrap; } .make-fbm .make-fbah__personhead { grid-template-columns: 12px minmax(0,1fr) 24px; } .make-fbm .make-fbah__pmeta { grid-column: 2; } }

/* v0.22.20: My feedback — tiles for every page under My feedback */
.make-fbm-tiles { display: flex; flex-direction: column; gap: 16px; }
.make-fbm-tiles__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.make-fbm-tile { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 2px; min-height: 150px; padding: 26px 28px 24px; border-radius: 28px !important; text-decoration: none !important; --make-fbm-dot: rgba(0,0,0,.14); animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 8) * 50ms); transition: transform var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease); }
.make-fbm-tile > *:not(.make-fbm-banner__dots) { position: relative; }
.make-fbm-tile:hover { transform: translateY(-3px); box-shadow: 0 18px 34px -20px rgba(31,37,43,.55); }
.make-fbm-tile:active { transform: scale(.98); }
.make-fbm-tile__title { font-family: var(--make-display); font-weight: 800; font-size: 26px; line-height: 1.05; letter-spacing: -.01em; color: inherit; }
.make-fbm-tile__script { font-family: var(--make-script); font-size: 28px; line-height: 1.1; color: inherit; opacity: .92; }
.make-fbm-tile__dash { margin-top: auto; width: 22px; transition: width var(--make-dur) var(--make-ease); }
.make-fbm-tile:hover .make-fbm-tile__dash { width: 34px; }
/* v0.22.23 */
.make-fbm-tiles--end { max-width: 860px; margin-top: 88px; }
/* v0.22.25: Teams ready to print sits right under the banner; Past cycles follow */
.make-fbm-readylist { margin-top: 44px !important; }
.make-fbm--past { padding-top: 0; margin-top: 44px; }
/* v0.22.26: My feedback — no "//// My feedback" page title (it confused people); empty wrapper above the first section collapses. */
body#page-theme-make-fb_myfeedback #page-header { display: none !important; }
body#page-theme-make-fb_myfeedback .make-fbm:empty { display: none !important; }
body#page-theme-make-fb_myfeedback #region-main > [role="main"] > :first-child .make-fbm-eyebrow--solid,
body#page-theme-make-fb_myfeedback .make-fbm:empty + .make-fbm-readylist { margin-top: 0 !important; }
/* v0.22.27: Teams ready to print is its own category at the end — clear gap above it */
.make-fbm-readylist { margin-top: 88px !important; }
body#page-theme-make-fb_myfeedback .make-fbm:empty + .make-fbm-readylist { margin-top: 0 !important; }
/* v0.22.28: My feedback — whatever comes first starts at the top (the 88px section gap only applies BETWEEN sections). */
body#page-theme-make-fb_myfeedback .make-fbm:not(:has(*)) { display: none !important; }
body#page-theme-make-fb_myfeedback .make-fbm:empty + .make-fbm-leaderhead,
body#page-theme-make-fb_myfeedback .make-fbm:not(:has(*)) + .make-fbm-leaderhead,
body#page-theme-make-fb_myfeedback .make-fbm:not(:has(*)) + .make-fbm-readylist,
body#page-theme-make-fb_myfeedback .make-fbm:not(:has(*)) + .make-fbm--past { margin-top: 0 !important; padding-top: 0 !important; }
body#page-theme-make-fb_myfeedback .make-fbm:not(:has(*)) + .make-fbm--past + .make-fbm-leaderhead { margin-top: 88px !important; }
/* v0.22.30: My feedback has no #page-header, so its content box starts at #page-content (y=108) like the header does on other pages.
   Teams: #page-header 108 → headings 112 (4px context-header padding). Here: region-main-box/region-main padding (10+10) replaced by 4px. */
body#page-theme-make-fb_myfeedback #region-main-box { padding-top: 0 !important; }
body#page-theme-make-fb_myfeedback #region-main { padding-top: 4px !important; }
body#page-theme-make-fb_myfeedback #region-main > [role="main"] { margin-top: 0 !important; padding-top: 0 !important; }
/* v0.22.32: plain page intro (description + buttons) — Feedback templates */
.make-fbm--plain { padding-top: 0; gap: 36px; }
.make-pageintro { display: flex; flex-direction: column; gap: 16px; }
.make-pageintro__desc { margin: 0 !important; font-size: 16px; line-height: 1.5; max-width: 640px; color: var(--make-ink); }
.make-pageintro__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.make-pageintro__btn { display: inline-flex; align-items: center; height: 40px; padding: 0 20px; border-radius: 999px !important; font: 700 14px/1 var(--make-sans); text-decoration: none !important; color: var(--make-ink) !important; box-shadow: inset 0 0 0 1.5px var(--make-ink); transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-pageintro__btn:hover { background: rgba(31,37,43,.06); }
.make-pageintro__btn:active { transform: scale(.97); }
.make-pageintro__btn--primary { background: var(--make-blue); color: #fff !important; box-shadow: none; }
.make-pageintro__btn--primary:hover { background: #2a4dff; }
.make-pageintro__empty { margin: 0; color: rgba(31,37,43,.6); }
.make-fbm--plain .make-fbm-row--missing { padding-top: 10px !important; padding-bottom: 10px !important; }

/* v0.22.35 Acuerdos history fixes: real team colour, SVG chevrons, people list aligned with the team pill (no white card). */
.make-fbm .make-fbah__chev--svg { border: 0 !important; background: none; transform: none !important; display: inline-flex; align-items: center; justify-content: center; }
.make-fbm .make-fbah__chev--svg::before, .make-fbm .make-fbah__chev--svg::after { display: none !important; content: none !important; }
.make-fbm .make-fbah__chev--svg svg { transition: transform var(--make-dur) var(--make-ease); }
.make-fbm .make-fbah__teamhead .make-fbah__chev--svg { width: 34px; height: 34px; border-radius: 50% !important; background: var(--team-ink, #fff) !important; color: var(--team); }
.make-fbm .make-fbah__team[open] > .make-fbah__teamhead .make-fbah__chev--svg svg,
.make-fbm .make-fbah__person[open] > .make-fbah__personhead .make-fbah__chev--svg svg { transform: rotate(180deg); }
.make-fbm .make-fbah__personhead .make-fbah__chev--svg { width: 24px; height: 24px; color: var(--make-ink); }
.make-fbm .make-fbah__members { margin: 0 !important; padding: 6px 0 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.make-fbm .make-fbah__person { margin: 0 !important; padding: 0 !important; background: none !important; border-radius: 0 !important; box-shadow: none !important; border-bottom: 1px solid rgba(31,37,43,.12) !important; }
.make-fbm .make-fbah__personhead { padding: 16px 34px 16px 34px !important; }
.make-fbm .make-fbah__dates { padding: 0 34px 16px 62px !important; }
.make-fbm .make-fbah__entry { margin: 0 !important; }

/* v0.22.37: due-date pill + MAKE calendar popover (fb_cycles.php) */
.make-fbm-cycle__due--pill { padding: 0 !important; background: none !important; }
.make-cal-pill { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: rgba(31,37,43,.06); color: var(--make-ink); cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-cal-pill:hover { background: rgba(20,57,245,.1); color: var(--make-blue); }
.make-cal-pill:active { transform: scale(.97); }
.make-cal-pill[aria-expanded="true"], .make-cal-pill.is-saving { background: var(--make-blue); color: #fff; }
.make-cal-pill__label { font: 700 11.5px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.make-cal-pill__value { font: 700 13.5px/1 var(--make-sans); white-space: nowrap; }
.make-cal { position: fixed; z-index: 2147483000; width: 288px; padding: 16px; border-radius: 22px; background: var(--make-paper); color: var(--make-ink); box-shadow: 0 0 0 1px rgba(31,37,43,.08), 0 24px 48px -20px rgba(31,37,43,.45); animation: make-pop-in var(--make-dur) var(--make-ease) both; transform-origin: top left; font-family: var(--make-sans); }
.make-cal[popover] { border: 0; margin: 0; overflow: visible; }
.make-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.make-cal__title { font: 800 18px/1 var(--make-display); letter-spacing: -.01em; }
.make-cal__title span { font-weight: 500; color: rgba(31,37,43,.55); }
.make-cal__nav { width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: var(--make-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color var(--make-dur) var(--make-ease); }
.make-cal__nav:hover { background: rgba(31,37,43,.07); }
.make-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.make-cal__dow { text-align: center; font: 700 11px/28px var(--make-sans); letter-spacing: .06em; text-transform: uppercase; color: rgba(31,37,43,.45); }
.make-cal__day { height: 34px; border: 0; border-radius: 50%; background: transparent; color: var(--make-ink); font: 600 14px/1 var(--make-sans); cursor: pointer; transition: background-color var(--make-dur-fast) var(--make-ease), color var(--make-dur-fast) var(--make-ease); }
.make-cal__day:hover { background: rgba(20,57,245,.1); color: var(--make-blue); }
.make-cal__day.is-today { box-shadow: inset 0 0 0 1.5px var(--make-blue); color: var(--make-blue); }
.make-cal__day.is-selected { background: var(--make-blue); color: #fff; box-shadow: none; }
.make-cal__foot { display: flex; justify-content: space-between; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(31,37,43,.1); }
.make-cal__link { border: 0; background: none; padding: 4px 6px; font: 700 13px/1 var(--make-sans); color: var(--make-blue); cursor: pointer; border-radius: 8px; }
.make-cal__link:hover { background: rgba(20,57,245,.08); }
.make-cal__link--muted { color: rgba(31,37,43,.6); }

/* v0.22.39 calendar module: date fields on every theme_make page (javascript/make_calendar.js) */
.make-cal-native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.make-cal-field { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; max-width: 220px; height: 38px; margin-bottom: .5rem; padding: 0 14px 0 16px; border: 1.5px solid rgba(31,37,43,.22); border-radius: 999px; background: #fff; color: var(--make-ink); font: 600 14px/1 var(--make-sans); text-align: left; cursor: pointer; transition: border-color var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease); }
.make-cal-field:hover { border-color: var(--make-blue); color: var(--make-blue); }
.make-cal-field[aria-expanded="true"] { border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-cal-field.is-empty .make-cal-field__value { color: rgba(31,37,43,.5); font-weight: 500; }
.make-cal-field:disabled { opacity: .5; cursor: not-allowed; }
.make-cal__day:disabled { opacity: .3; cursor: not-allowed; background: none !important; color: var(--make-ink) !important; }

/* v0.22.43 Acuerdos history: one acuerdo = a row of section cards side by side; Edit in place; team leader on the pill */
.make-fbm .make-fbah__teammeta { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.make-fbah__teamlead { font-weight: 700; }
.make-fbah__teamcount { opacity: .85; }
.make-fbah__cards { display: flex; flex-direction: column; gap: 12px; padding: 4px 18px 18px !important; }
.make-fbah__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.make-fbah__card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 8px; padding: 18px 16px 16px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px rgba(31,37,43,.08); animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; animation-delay: calc(min(var(--i, 0), 6) * 45ms); }
.make-fbah__cardbar { position: absolute; top: 0; left: 0; right: 0; height: 5px; background: var(--axis); }
.make-fbah__cardtitle { font: 800 14px/1.25 var(--make-display); letter-spacing: -.005em; color: var(--make-ink); }
.make-fbah__cardtext { font-size: 14px; line-height: 1.5; color: var(--make-ink); overflow-wrap: anywhere; }
.make-fbah__cardempty { color: rgba(31,37,43,.45); font-style: italic; }
.make-fbah__cardinput { display: none; width: 100%; min-height: 120px; padding: 10px 12px; border: 1.5px solid rgba(31,37,43,.2); border-radius: 12px; background: var(--make-paper); font: 400 14px/1.45 var(--make-sans); color: var(--make-ink); resize: vertical; }
.make-fbah__cardinput:focus { outline: none; border-color: var(--axis); box-shadow: 0 0 0 3px rgba(20,57,245,.12); }
.make-fbah__entry.is-editing .make-fbah__cardtext { display: none; }
.make-fbah__entry.is-editing .make-fbah__cardinput { display: block; }
.make-fbah__editbar { display: none; justify-content: flex-end; gap: 8px; }
.make-fbah__entry.is-editing .make-fbah__editbar { display: flex; }
.make-fbah__entry.is-editing .make-fbah__edit { display: none; }
.make-fbah__edit, .make-fbah__cancel, .make-fbah__save { height: 30px; padding: 0 14px; border: 0; border-radius: 999px; font: 700 12.5px/1 var(--make-sans); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-fbah__edit { background: var(--make-blue); color: #fff; }
.make-fbah__edit:hover, .make-fbah__save:hover { background: #2a4dff; transform: translateY(-1px); }
.make-fbah__save { background: var(--make-blue); color: #fff; height: 36px; padding: 0 18px; }
.make-fbah__cancel { background: transparent; color: var(--make-ink); box-shadow: inset 0 0 0 1.5px var(--make-ink); height: 36px; }
.make-fbah__edit:active, .make-fbah__save:active, .make-fbah__cancel:active { transform: scale(.97); }
/* v0.22.45: all section cards of an acuerdo in ONE row (equal columns); scrolls sideways only on narrow screens */
.make-fbah__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr); overflow-x: auto; padding-bottom: 4px; }
.make-fbah__card { padding: 16px 14px 14px; }
/* v0.22.46: Acuerdos history is a wide page so all section cards fit on one row at full size */
body#page-theme-make-fb_acuerdos #topofscroll, body#page-theme-make-fb_acuerdos .main-inner,
body#page-theme-make-fb_acuerdos #page-header, body#page-theme-make-fb_acuerdos #page-content,
body#page-theme-make-fb_acuerdos #region-main { max-width: 1440px !important; }
body#page-theme-make-fb_acuerdos .make-fbm--page { max-width: 1440px; }
body#page-theme-make-fb_acuerdos .make-fbm-banner { max-width: none; }
body#page-theme-make-fb_acuerdos .make-fbm .make-fbah__dates { padding: 0 0 16px 34px !important; }
body#page-theme-make-fb_acuerdos .make-fbah__grid { grid-auto-columns: minmax(200px, 1fr); }
/* v0.22.47: Acuerdos history a bit narrower (1440 → 1200px); cards taller so long texts read as a column, not a strip */
body#page-theme-make-fb_acuerdos #topofscroll, body#page-theme-make-fb_acuerdos .main-inner,
body#page-theme-make-fb_acuerdos #page-header, body#page-theme-make-fb_acuerdos #page-content,
body#page-theme-make-fb_acuerdos #region-main { max-width: 1200px !important; }
body#page-theme-make-fb_acuerdos .make-fbm--page { max-width: 1200px; }
body#page-theme-make-fb_acuerdos .make-fbah__grid { grid-auto-columns: minmax(170px, 1fr); }
body#page-theme-make-fb_acuerdos .make-fbah__card { min-height: 240px; padding: 20px 16px 18px; }
/* v0.22.48 Acuerdos history: plain intro + Add acuerdo panel */
body#page-theme-make-fb_acuerdos .make-pageintro { margin-bottom: 4px; }
.make-fbah-add { display: flex; flex-direction: column; gap: 16px; padding: 22px 24px 20px; border-radius: 24px; background: var(--make-paper); box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); animation: make-rise-in var(--make-dur-slow) var(--make-ease) backwards; }
.make-fbah-add[hidden] { display: none !important; }
.make-fbah-add .make-fbm-eyebrow { margin-bottom: 0; }
.make-fbah-add__row { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: flex-end; }
.make-fbah-add__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.make-fbah-add__label { font: 700 12px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-fbah-add__select { height: 38px; min-width: 260px; padding: 0 36px 0 16px; border: 1.5px solid rgba(31,37,43,.22); border-radius: 999px; background-color: #fff; font: 600 14px/1 var(--make-sans); color: var(--make-ink); }
.make-fbah-add__select:focus { outline: none; border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-fbah-add__field .make-cal-field { margin-bottom: 0; }
.make-fbah-add__hint { margin: 0; color: rgba(31,37,43,.55); font-size: 14px; }
.make-fbah-add__hint[hidden] { display: none; }
.make-fbah-add__cards:empty { display: none; }
.make-fbah-add__bar { display: flex; justify-content: flex-end; gap: 8px; }
.make-fbah__save:disabled { opacity: .45; cursor: not-allowed; transform: none !important; }

/* ===== v0.23.0 My feedback — one card, at most one list ===== */
.make-fbm--home { max-width: 780px; margin: 0 auto; gap: 36px; }
.make-fbm-actions--split { align-items: center; }
.make-fbm-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.make-fbm-banner--empty .make-fbm-pills { margin-left: 0; }
.make-fbm-pill { display: inline-flex; align-items: center; height: 34px; padding: 0 16px; border-radius: 999px !important; font: 700 15px/1 var(--make-display); text-decoration: none !important; white-space: nowrap; transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-fbm-pill:hover { transform: translateY(-1px); }
.make-fbm-pill:active { transform: scale(.97); }
.make-fbm-pill--onblue { color: #fff !important; box-shadow: inset 0 0 0 2px #fff; }
.make-fbm-pill--onblue:hover { background: rgba(255,255,255,.14); }
.make-fbm-pill--solid { background: var(--make-blue); color: #fff !important; }
.make-fbm-pill--solid:hover { background: #0f2fd6; }
.make-fbm-note { color: rgba(31,37,43,.62); font-size: 15px; }
.make-fbm-live__row { border-bottom: 1px solid rgba(31,37,43,.12); }
.make-fbm-live__head { display: grid; grid-template-columns: minmax(0,1.2fr) auto minmax(150px,1fr) auto auto; align-items: center; gap: 18px; padding: 16px 0; }
.make-fbm-live__name { font: 800 16px/1.2 var(--make-display); }
.make-fbm-live__sub { margin-top: 3px; font-size: 12.5px; color: rgba(31,37,43,.62); }
.make-fbm-live__progress { display: flex; align-items: center; gap: 12px; min-width: 0; }
.make-fbm-live__view { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 999px !important; background: var(--make-blue); color: #fff !important; font: 800 11.5px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none !important; white-space: nowrap; transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-fbm-live__view:hover { background: #0f2fd6; transform: translateY(-1px); }
.make-fbm-live__toggle { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: rgba(31,37,43,.06); color: var(--make-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease); }
.make-fbm-live__toggle:hover { background: rgba(20,57,245,.1); color: var(--make-blue); }
.make-fbm-live__toggle svg { transition: transform var(--make-dur) var(--make-ease); }
.make-fbm-live__toggle[aria-expanded="true"] { background: var(--make-ink); color: #fff; }
.make-fbm-live__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.make-fbm-live__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--make-dur-slow) var(--make-ease); }
.make-fbm-live__panel.is-open { grid-template-rows: 1fr; }
.make-fbm-live__inner { overflow: hidden; min-height: 0; }
.make-fbm-member { display: grid; grid-template-columns: minmax(0,1fr) 110px auto minmax(96px,auto); align-items: center; gap: 14px; padding: 14px 4px 14px 16px; border-top: 1px dashed rgba(31,37,43,.14); }
.make-fbm-member--empty { display: block; font-size: 13.5px; color: rgba(31,37,43,.62); }
.make-fbm-member__name { font: 700 14px/1.25 var(--make-sans); }
.make-fbm-member__meta { margin-top: 2px; font-size: 12px; color: rgba(31,37,43,.6); }
.make-fbm-member__track { height: 5px; }
.make-fbm-member--complete .make-fbm-cycle__bar { background: #2c5545; }
.make-fbm-member__pills { display: flex; gap: 6px; }
.make-fbm-member__pill { padding: 6px 10px; border-radius: 999px; background: rgba(31,37,43,.06); color: rgba(31,37,43,.7); font: 700 11.5px/1 var(--make-sans); white-space: nowrap; }
.make-fbm-member__pill--done { background: var(--make-blue); color: #fff; }
.make-fbm-member__act { text-align: right; }
.make-fbm-member__act a { font: 700 13px/1 var(--make-sans); color: var(--make-blue) !important; text-decoration: none !important; white-space: nowrap; }
.make-cal-pill--static { cursor: default; }
.make-cal-pill--static:hover { background: rgba(31,37,43,.06); color: var(--make-ink); }
@media (max-width: 760px) {
  .make-fbm-live__head { grid-template-columns: minmax(0,1fr) auto auto; }
  .make-fbm-live__text { grid-column: 1 / -1; }
  .make-fbm-live__progress { grid-column: 1 / -1; grid-row: 2; }
  .make-fbm-member { grid-template-columns: minmax(0,1fr) auto; }
  .make-fbm-member__track { display: none; }
  .make-fbm-member__pills { grid-column: 1 / -1; }
}

/* v0.23.3 delete a team's part of a cycle / a whole cycle / all cycles in progress */
.make-fbm-member-team { display: flex; align-items: center; gap: 0; padding: 16px 4px 8px 16px; border-top: 1px dashed rgba(31,37,43,.14); font: 800 11.5px/1 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.72); }
.make-fbm-member-team + .make-fbm-member { border-top: 0; }
.make-fbm-member-team .make-fbm-delform { margin-left: auto; }
.make-fbm-delform { display: inline-flex; margin: 0; }
.make-fbm-delbtn { padding: 4px 0; border: 0; background: none; color: #c0182b; font: 700 12.5px/1 var(--make-sans); letter-spacing: 0; text-transform: none; cursor: pointer; transition: color var(--make-dur) var(--make-ease); }
.make-fbm-delbtn:hover { color: #9e1224; text-decoration: underline; }
.make-fbm-live__danger { display: flex; justify-content: flex-end; padding: 12px 4px 14px; border-top: 1px dashed rgba(31,37,43,.14); }
.make-fbm-live__footer { display: flex; justify-content: flex-end; padding-top: 14px; }

/* v0.23.4 My feedback: select-to-delete (Members pattern) — replaces the red delete links */
.make-fbm-pickdot { position: relative; flex: 0 0 auto; width: 22px; height: 22px; margin: 0; border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(31,37,43,.25); color: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; opacity: .35; transition: opacity var(--make-dur) var(--make-ease), background-color var(--make-dur) var(--make-ease), box-shadow var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-fbm-pickdot input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.make-fbm-live__head:hover .make-fbm-pickdot, .make-fbm-member-team:hover .make-fbm-pickdot, .make-fbm-pickdot:focus-within, .make-fbm-bulkform:has(#make-fbm-bulk:not([hidden])) ~ .make-fbm-live__row .make-fbm-pickdot { opacity: 1; }
.make-fbm-pickdot:hover { box-shadow: inset 0 0 0 2px var(--make-blue); }
.make-fbm-pickdot:active { transform: scale(.9); }
.make-fbm-pickdot.is-on { opacity: 1; background: var(--make-blue); box-shadow: none; color: #fff; }
.make-fbm-pickdot:has(input:disabled) { cursor: default; }
.make-fbm-live--select .make-fbm-live__head { grid-template-columns: 22px minmax(0,1.2fr) auto minmax(150px,1fr) auto auto; }
.make-fbm-live__head { transition: background-color var(--make-dur) var(--make-ease); border-radius: 14px; }
.make-fbm-live__row.is-selected .make-fbm-live__head { background: rgba(20,57,245,.07); }
.make-fbm-live--select .make-fbm-live__head { padding-left: 8px; padding-right: 8px; }
.make-fbm-member-team { gap: 10px; }
.make-fbm-member-team .make-fbm-eyebrow__count { margin-left: 0; }
.make-fbm-member-team.is-selected { color: var(--make-blue); }
.make-fbm-bulk { position: sticky; top: 72px; z-index: 25; flex-wrap: nowrap; gap: 10px; height: 50px; margin: 12px 0 4px; padding: 0 10px 0 20px; white-space: nowrap; }
.make-fbm-bulk[hidden] { display: none !important; }
.make-fbm-bulk .make-fbm-bulk__all { margin-left: 0; }
.make-fbm-bulk .make-fbmem-bulk__apply, .make-fbm-bulk .make-fbmem-bulk__clear { height: 34px; padding: 0 16px; white-space: nowrap; }
.make-fbm-bulk__delete { background: #c0182b !important; }
.make-fbm-bulk__delete:hover { background: #9e1224 !important; }
.make-fbm-bulkform { margin: 0; }
@media (max-width: 760px) {
  .make-fbm-live--select .make-fbm-live__head { grid-template-columns: 22px minmax(0,1fr) auto auto; }
  .make-fbm-live--select .make-fbm-live__text { grid-column: 2 / -1; }
}

/* v0.23.6 Feedback cycles screen retired — finished cycles fold away on My feedback */
.make-fbm-finished { margin-top: 16px; }
.make-fbm-finished__summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 12px 4px; border-bottom: 1px solid rgba(31,37,43,.12); font: 800 13px/1 var(--make-display); letter-spacing: .14em; text-transform: uppercase; color: rgba(31,37,43,.7); cursor: pointer; transition: color var(--make-dur) var(--make-ease); }
.make-fbm-finished__summary::-webkit-details-marker { display: none; }
.make-fbm-finished__summary:hover { color: var(--make-ink); }
.make-fbm-finished__summary .make-fbm-eyebrow__count { margin-left: 0; }
.make-fbm-finished__summary svg { margin-left: auto; transition: transform var(--make-dur) var(--make-ease); }
.make-fbm-finished[open] > .make-fbm-finished__summary svg { transform: rotate(180deg); }
.make-fbm-live__head--done { grid-template-columns: minmax(0,1fr) auto; }
.make-fbm-live--select .make-fbm-live__head--done { grid-template-columns: 22px minmax(0,1fr) auto; }
.make-fbm-live__view--ghost { background: transparent; color: var(--make-blue) !important; box-shadow: inset 0 0 0 1.5px var(--make-blue); }
.make-fbm-live__view--ghost:hover { background: rgba(20,57,245,.08); }

/* v0.23.8 My feedback wider; In-progress bar gets a real width */
.make-fbm--home { max-width: 1040px !important; width: 100%; }
.make-fbm-live__head:not(.make-fbm-live__head--done) { grid-template-columns: minmax(180px,1fr) auto minmax(240px,1.3fr) auto auto; }
.make-fbm-live--select .make-fbm-live__head:not(.make-fbm-live__head--done) { grid-template-columns: 22px minmax(180px,1fr) auto minmax(240px,1.3fr) auto auto; }
.make-fbm-live__progress .make-fbm-cycle__track { flex: 1 1 auto; min-width: 120px; }
.make-fbm-member { grid-template-columns: minmax(0,1fr) 200px auto minmax(96px,auto); }
@media (max-width: 760px) {
  .make-fbm-live__head:not(.make-fbm-live__head--done) { grid-template-columns: minmax(0,1fr) auto auto; }
  .make-fbm-live--select .make-fbm-live__head:not(.make-fbm-live__head--done) { grid-template-columns: 22px minmax(0,1fr) auto auto; }
  .make-fbm-member { grid-template-columns: minmax(0,1fr) auto; }
}

/* v0.23.9 My feedback: widen the whole column chain (the page wrapper capped it at ~750px, so the wider row overflowed) */
body#page-theme-make-fb_myfeedback #topofscroll, body#page-theme-make-fb_myfeedback .main-inner,
body#page-theme-make-fb_myfeedback #page-content, body#page-theme-make-fb_myfeedback #region-main { max-width: 1120px !important; }
body#page-theme-make-fb_myfeedback .make-fbm-banner { max-width: none; }
.make-fbm-live__head:not(.make-fbm-live__head--done) { grid-template-columns: minmax(120px,1fr) auto minmax(160px,1.4fr) auto auto; }
.make-fbm-live--select .make-fbm-live__head:not(.make-fbm-live__head--done) { grid-template-columns: 22px minmax(120px,1fr) auto minmax(160px,1.4fr) auto auto; }
.make-fbm-live__head > * { min-width: 0; }
.make-fbm-live__progress .make-fbm-cycle__track { min-width: 60px; }
@media (max-width: 760px) {
  .make-fbm-live__head:not(.make-fbm-live__head--done) { grid-template-columns: minmax(0,1fr) auto auto; }
  .make-fbm-live--select .make-fbm-live__head:not(.make-fbm-live__head--done) { grid-template-columns: 22px minmax(0,1fr) auto auto; }
}

/* v0.23.10 My feedback: process → team leaders → members */
.make-fbm-live__head--process:not(.make-fbm-live__head--done) { grid-template-columns: minmax(120px,1fr) auto minmax(160px,1.4fr) auto; }
.make-fbm-live--select .make-fbm-live__head--process:not(.make-fbm-live__head--done) { grid-template-columns: 22px minmax(120px,1fr) auto minmax(160px,1.4fr) auto; }
.make-fbm-live__head--leader:not(.make-fbm-live__head--done) { grid-template-columns: minmax(120px,1fr) minmax(160px,1.4fr) auto auto; padding: 12px 0; }
.make-fbm-live--select .make-fbm-live__head--leader:not(.make-fbm-live__head--done) { grid-template-columns: 22px minmax(120px,1fr) minmax(160px,1.4fr) auto auto; }
.make-fbm-live__row--leader { margin-left: 24px; border-bottom: 0; border-top: 1px dashed rgba(31,37,43,.14); }
.make-fbm-live__row--leader .make-fbm-live__name { font: 700 15px/1.25 var(--make-sans); }
.make-fbm-live__row--leader .make-fbm-member { margin-left: 24px; padding-left: 12px; }
.make-fbm-live__row--leader .make-fbm-member-team { margin-left: 24px; }
.make-fbm-live__row--leader.is-selected > .make-fbm-live__head { background: rgba(20,57,245,.07); }
.make-fbm-live__row--process.is-selected .make-fbm-live__row--leader > .make-fbm-live__head { background: transparent; }
.make-fbm-live__row--process > .make-fbm-live__panel.is-open > .make-fbm-live__inner { padding-bottom: 8px; }
@media (max-width: 760px) {
  .make-fbm-live__head--process:not(.make-fbm-live__head--done), .make-fbm-live__head--leader:not(.make-fbm-live__head--done) { grid-template-columns: minmax(0,1fr) auto auto; }
  .make-fbm-live--select .make-fbm-live__head--process:not(.make-fbm-live__head--done), .make-fbm-live--select .make-fbm-live__head--leader:not(.make-fbm-live__head--done) { grid-template-columns: 22px minmax(0,1fr) auto auto; }
  .make-fbm-live__row--leader { margin-left: 12px; }
}

/* v0.23.11 team-colour tints on leader + member rows */
.make-fbm-live__row--leader > .make-fbm-live__head { background: color-mix(in srgb, var(--team, transparent) 12%, transparent); padding-left: 14px !important; padding-right: 10px !important; margin: 6px 0 0; }
.make-fbm-live__row--leader { border-top: 0 !important; }
.make-fbm-live__row--leader.is-selected > .make-fbm-live__head { background: color-mix(in srgb, var(--team, transparent) 20%, rgba(20,57,245,.06)); }
.make-fbm-live__row--leader .make-fbm-member { background: color-mix(in srgb, var(--team, transparent) 6%, transparent); border-top: 0; border-radius: 12px; margin-top: 4px; }
.make-fbm-live__row--leader .make-fbm-live__panel.is-open > .make-fbm-live__inner { padding-top: 2px; }

/* v0.23.13 leader + member rows: pill-shaped, distinct brand tints */
.make-fbm-live__row--leader > .make-fbm-live__head { border-radius: 999px !important; background: color-mix(in srgb, var(--team, transparent) 13%, var(--make-cream, #faf1e6)); padding-left: 16px !important; padding-right: 8px !important; margin-top: 8px; }
.make-fbm-live__row--leader.is-selected > .make-fbm-live__head { background: color-mix(in srgb, var(--team, transparent) 24%, var(--make-cream, #faf1e6)); }
.make-fbm-live__row--leader .make-fbm-member { border-radius: 999px; background: color-mix(in srgb, var(--team, transparent) 6%, var(--make-cream, #faf1e6)); padding-left: 22px; padding-right: 18px; margin-top: 6px; }
.make-fbm-live__row--leader .make-fbm-live__toggle { background: rgba(255,255,255,.6); }
.make-fbm-live__row--leader .make-fbm-live__toggle[aria-expanded="true"] { background: var(--make-ink); }
.make-fbm-live__row--leader .make-fbm-cycle__track { background: rgba(31,37,43,.1); }

/* v0.23.14 force pill shape (a 12-14px radius rule was still winning) + air around the dashed team dividers */
body#page-theme-make-fb_myfeedback .make-fbm-live__row--leader > .make-fbm-live__head,
body#page-theme-make-fb_myfeedback .make-fbm-live__row--leader .make-fbm-member { border-radius: 999px !important; }
body#page-theme-make-fb_myfeedback .make-fbm-live__row--leader .make-fbm-member { padding-left: 24px !important; padding-right: 20px !important; }
body#page-theme-make-fb_myfeedback .make-fbm-live__row--leader .make-fbm-member-team { margin: 14px 0 6px 24px; padding: 16px 4px 6px 16px; }
body#page-theme-make-fb_myfeedback .make-fbm-live__row--leader .make-fbm-live__panel.is-open > .make-fbm-live__inner { padding-top: 4px; padding-bottom: 6px; }
body#page-theme-make-fb_myfeedback .make-fbm-live__row--leader .make-fbm-live__inner > .make-fbm-member:first-child { margin-top: 8px; }

/* v0.23.15 team leaders: no coloured pills (Directors keep them) */
body#page-theme-make-fb_myfeedback .make-fbm-live--plain .make-fbm-live__row--leader > .make-fbm-live__head,
body#page-theme-make-fb_myfeedback .make-fbm-live--plain .make-fbm-live__row--leader .make-fbm-member { background: transparent !important; }
body#page-theme-make-fb_myfeedback .make-fbm-live--plain .make-fbm-live__row--leader .make-fbm-member { border-radius: 0 !important; border-top: 1px dashed rgba(31,37,43,.14); margin-top: 0; }
body#page-theme-make-fb_myfeedback .make-fbm-live--plain .make-fbm-live__row--leader > .make-fbm-live__head { border-radius: 0 !important; border-top: 1px dashed rgba(31,37,43,.14); margin-top: 0; }
body#page-theme-make-fb_myfeedback .make-fbm-live--plain .make-fbm-live__row--leader .make-fbm-live__toggle:not([aria-expanded="true"]) { background: rgba(31,37,43,.06); }

/* v0.23.16 hide Moodle's "Reset page to default" button on the profile page, for everyone */
body#page-user-profile .singlebutton:has(input[name="reset"]),
body#page-user-profile form:has(input[name="reset"][value="1"]),
body#page-user-profile .page-header-headings + .header-actions-container .singlebutton:has(input[name="reset"]) { display: none !important; }

/* v0.23.17 cycle progress: Write feedback button on each person the viewer writes for */
.make-fb-cr-write { display: inline-flex; align-items: center; align-self: flex-start; height: 32px; margin-top: 10px; padding: 0 16px; border-radius: 999px !important; background: var(--make-blue); color: #fff !important; font: 800 11.5px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none !important; transition: background-color var(--make-dur) var(--make-ease), transform var(--make-dur-fast) var(--make-ease); }
.make-fb-cr-write:hover { background: #0f2fd6; transform: translateY(-1px); }
.make-fb-cr-write--done { background: transparent; color: var(--make-blue) !important; box-shadow: inset 0 0 0 1.5px var(--make-blue); }
.make-fb-cr-write--done:hover { background: rgba(20,57,245,.08); }

/* v0.23.18 member row: Write/View feedback as a button like View progress */
.make-fbm-member__act a.make-fbm-live__view { color: #fff !important; font: 800 11.5px/1 var(--make-sans); }
.make-fbm-member__act a.make-fbm-live__view--ghost { color: var(--make-blue) !important; }

/* v0.23.21 Feedbacks page: row actions are real pill buttons (matching Write feedback on View progress), not bare text */
body#page-theme-make-fb_feedbacks .make-fbm-row__links { gap: 8px; }
body#page-theme-make-fb_feedbacks .make-fbm-row__links > a, body#page-theme-make-fb_feedbacks .make-fbm-row__sent { display: inline-flex; align-items: center; height: 32px; padding: 0 16px; border-radius: 999px !important; font: 700 13px/1 var(--make-sans); white-space: nowrap; border: 1.5px solid rgba(31,37,43,.18); background: transparent; color: var(--make-ink) !important; transition: background-color var(--make-dur) var(--make-ease), border-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease), transform var(--make-dur) var(--make-ease); }
body#page-theme-make-fb_feedbacks .make-fbm-row__links > a:hover { border-color: var(--make-blue); color: var(--make-blue) !important; transform: translateY(-1px); }
body#page-theme-make-fb_feedbacks .make-fbm-row__links > a.make-fbm-row__view--todo { background: var(--make-blue); border-color: var(--make-blue); color: #fff !important; }
body#page-theme-make-fb_feedbacks .make-fbm-row__links > a.make-fbm-row__view--todo:hover { background: #0f2fd6; border-color: #0f2fd6; color: #fff !important; }
body#page-theme-make-fb_feedbacks .make-fbm-row__sent { border-style: dashed; color: rgba(31,37,43,.62) !important; font-weight: 600; }

/* v0.23.23 "Latest" marker — newest Autoevaluación / Feedback / Acuerdo per person */
.make-fb-latest { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; margin-right: 10px; border-radius: 999px; background: var(--make-magenta, #ff27e1); color: #fff; font: 800 10.5px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; vertical-align: 3px; }
.make-fbm-row--latest { background: rgba(20,57,245,.06); border-radius: 14px; border-bottom-color: transparent !important; padding-left: 14px !important; padding-right: 14px !important; margin: 6px 0; box-shadow: inset 3px 0 0 var(--make-blue); }
.make-fbah__entry--latest > summary { background: rgba(20,57,245,.06); border-radius: 12px; box-shadow: inset 3px 0 0 var(--make-blue); }
.make-fbah__entry--latest .make-fbah__date { display: inline-flex; align-items: center; }
/* v0.23.23 permanent record view */
.make-fbrec { display: flex; flex-direction: column; gap: 22px; }
.make-fbrec__head { display: flex; flex-direction: column; gap: 10px; }
.make-fbrec__title { font-family: var(--make-display); font-weight: 800; font-size: 32px; line-height: 1.1; margin: 0; }
.make-fbrec__axis { border-top: 4px solid var(--axis); padding-top: 14px; display: flex; flex-direction: column; gap: 14px; }
.make-fbrec__axistitle { font-family: var(--make-display); font-weight: 800; font-size: 20px; margin: 0; }
.make-fbrec__q { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-radius: 14px; background: var(--make-paper); }
.make-fbrec__qtext { font-weight: 700; }
.make-fbrec__qtext p { margin: 0; }
.make-fbrec__rating { align-self: flex-start; padding: 3px 10px; border-radius: 999px; background: var(--axis); color: #fff; font-weight: 800; font-size: 13px; }
.make-fbrec__ans { font-size: 15px; line-height: 1.5; }
.make-fbrec__lbl { display: block; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .6; margin-bottom: 2px; }
.make-fbrec__ans--acuerdo { padding: 14px 16px; border-radius: 14px; background: rgba(20,57,245,.06); }
.make-fbrec__back a { font-weight: 700; color: var(--make-blue) !important; text-decoration: none !important; }

/* v0.23.25 nav: right-edge arrow that opens a section's sub-menu from any page (remembered).
   v0.23.26: sibling of the link inside .make-nav-drawer__row (no navigation on click), only visible on hover/focus. */
.make-nav-drawer__row { position: relative; }
.make-nav-drawer__row > .make-nav-drawer__link { padding-right: 40px !important; }
.make-nav-drawer__expand { position: absolute; top: 50%; right: 8px; width: 26px; height: 26px; margin-top: -13px; padding: 0 !important; border: 0 !important; background: transparent; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 50%; color: rgba(31,37,43,.55); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .16s ease, background-color .16s ease, color .16s ease; z-index: 1; }
.make-nav-drawer__row:hover .make-nav-drawer__expand, .make-nav-drawer__expand:focus-visible { opacity: 1; pointer-events: auto; }
.make-nav-drawer__row:has(.make-nav-drawer__link--active) .make-nav-drawer__expand { color: var(--make-blue); }
.make-nav-drawer__expand svg { flex: 0 0 14px !important; transition: transform .22s cubic-bezier(.22,1,.36,1) !important; }
.make-nav-drawer__expand:hover { background: rgba(31,37,43,.1); color: var(--make-ink); }
.make-nav-drawer__expand--open svg { transform: rotate(180deg) !important; }
.make-nav-drawer__expand:focus-visible { outline: 2px solid var(--make-blue); outline-offset: 1px; }

/* v0.24.0 Reunión de feedback (fb_meeting.php / fb_meetings.php) */
.make-fbmt { display: flex; flex-direction: column; gap: 26px; }
.make-fbmt__when, .make-fbmt__acuerdos { display: flex; flex-direction: column; gap: 14px; }
.make-fbmt__whenform, .make-fbmt__dueform { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding: 16px 18px; border-radius: 18px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.1); }
.make-fbmt__dueform { padding: 10px 14px; margin: 12px 0 4px; align-self: flex-start; }
.make-fbmt__field { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: rgba(31,37,43,.62); }
.make-fbmt__field--inline { flex-direction: row; align-items: center; gap: 10px; }
.make-fbmt__field--grow { flex: 1 1 240px; }
.make-fbmt__field input { height: 40px; padding: 0 12px; border-radius: 12px; border: 1.5px solid rgba(31,37,43,.18); background: #fff; font: 600 14.5px/1 var(--make-sans); color: var(--make-ink); text-transform: none; letter-spacing: 0; }
.make-fbmt__field select { height: 40px; min-width: 170px; padding: 0 40px 0 16px; border-radius: 999px; border: 1.5px solid rgba(31,37,43,.18); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231f252b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center; -webkit-appearance: none; appearance: none; font: 600 14.5px/1 var(--make-sans); color: var(--make-ink); text-transform: none; letter-spacing: 0; cursor: pointer; }
.make-fbmt__field select:focus { outline: none; border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-fbmt__field input:focus { outline: none; border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-fbmt__btn { height: 40px; padding: 0 18px; border-radius: 999px; border: 1.5px solid rgba(31,37,43,.18); background: transparent; color: var(--make-ink); font: 700 14px/1 var(--make-sans); cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), border-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease), transform var(--make-dur) var(--make-ease); }
.make-fbmt__btn:hover { border-color: var(--make-blue); color: var(--make-blue); transform: translateY(-1px); }
.make-fbmt__btn--primary { background: var(--make-blue); border-color: var(--make-blue); color: #fff; }
.make-fbmt__btn--primary:hover { background: #0f2fd6; border-color: #0f2fd6; color: #fff; }
.make-fbmt__btn--small { height: 34px; padding: 0 14px; font-size: 13px; }
.make-fbmt__axis { border-radius: 20px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.1); overflow: hidden; }
.make-fbmt__axistitle { margin: 0 !important; padding: 12px 18px; background: var(--axis); color: var(--axis-ink) !important; font-family: var(--make-display); font-weight: 800; font-size: 17px !important; }
.make-fbmt__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; padding: 16px 18px 18px; }
.make-fbmt__draft, .make-fbmt__final { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; }
.make-fbmt__lbl { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.55); }
.make-fbmt__final .make-fbmt__lbl { color: var(--make-blue); }
.make-fbmt__txt { font-size: 14.5px; line-height: 1.5; overflow-wrap: anywhere; }
.make-fbmt__draft .make-fbmt__txt { padding: 10px 12px; border-radius: 12px; background: rgba(31,37,43,.04); color: rgba(31,37,43,.8); }
.make-fbmt__final .make-fbmt__txt { padding: 10px 12px; border-radius: 12px; background: rgba(20,57,245,.06); box-shadow: inset 3px 0 0 var(--make-blue); }
.make-fbmt__empty { font-style: italic; color: rgba(31,37,43,.45); }
.make-fbmt__input { width: 100%; min-height: 140px; padding: 10px 12px; border-radius: 12px; border: 1.5px solid var(--make-blue); background: #fff; font: 500 14.5px/1.5 var(--make-sans); color: var(--make-ink); resize: vertical; }
.make-fbmt__input:focus { outline: none; box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-fbmt__bar { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.make-fbmt__duechips { margin: 10px 0 2px; }
body#page-theme-make-fb_meetings .make-fbm-row__links > a { display: inline-flex; align-items: center; height: 32px; padding: 0 16px; border-radius: 999px !important; font: 700 13px/1 var(--make-sans); white-space: nowrap; border: 1.5px solid rgba(31,37,43,.18); color: var(--make-ink) !important; }
body#page-theme-make-fb_meetings .make-fbm-row__links > a.make-fbm-row__view--todo { background: var(--make-blue); border-color: var(--make-blue); color: #fff !important; }
body#page-theme-make-fb_feedbacks .make-fbm-row__links > a.make-fbm-row__print.make-fbm-row__view--todo { background: var(--make-blue); border-color: var(--make-blue); color: #fff !important; }

/* v0.24.1 meeting card (View progress person cards, meeting page) + Hacer evaluación interface */
.make-fbmc { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding: 12px 14px; border-radius: 16px; background: var(--make-cream); border: 1px solid rgba(31,37,43,.1); }
.make-fbmc--due { background: var(--make-blue); border-color: var(--make-blue); color: #fff; }
.make-fbmc--done { background: rgba(31,37,43,.04); }
.make-fbmc--wide { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; margin-top: 0; }
.make-fbmc__eyebrow { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .62; }
.make-fbmc__title { font-weight: 700; font-size: 14.5px; line-height: 1.35; }
.make-fbmc--wide .make-fbmc__title { font-size: 16px; }
.make-fbmc__form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; }
.make-fbmc__date { flex: 1 1 150px; min-width: 0; height: 34px; padding: 0 10px; border-radius: 10px; border: 1.5px solid rgba(31,37,43,.18); background: #fff; font: 600 13px/1 var(--make-sans); color: var(--make-ink); }
.make-fbmc__date:focus { outline: none; border-color: var(--make-blue); }
.make-fbmc__btn { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; height: 34px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--make-blue); background: var(--make-blue); color: #fff !important; font: 700 13px/1 var(--make-sans); text-decoration: none !important; cursor: pointer; white-space: nowrap; transition: transform var(--make-dur) var(--make-ease), background-color var(--make-dur) var(--make-ease); }
.make-fbmc__btn:hover { transform: translateY(-1px); background: #0f2fd6; }
.make-fbmc__btn--ghost { background: transparent; color: var(--make-ink) !important; border-color: rgba(31,37,43,.22); }
.make-fbmc__btn--ghost:hover { background: transparent; border-color: var(--make-blue); color: var(--make-blue) !important; }
.make-fbmc--due .make-fbmc__btn { background: #fff; border-color: #fff; color: var(--make-blue) !important; }
.make-fbmc__btn--off { background: rgba(31,37,43,.08); border-color: transparent; color: rgba(31,37,43,.45) !important; cursor: not-allowed; }
.make-fbmc__btn--off:hover { transform: none; background: rgba(31,37,43,.08); }
.make-fbm-live__view--go { background: var(--make-blue) !important; border-color: var(--make-blue) !important; color: #fff !important; }
.make-fbmt__split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; padding: 16px 18px 18px; align-items: start; }
.make-fbmt__split--solo { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) { .make-fbmt__split { grid-template-columns: minmax(0, 1fr); } }
.make-fbmt__split .make-fbmt__input { min-height: 200px; }
.make-fbmt__ref { position: sticky; top: 80px; border-radius: 14px; background: rgba(31,37,43,.04); padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; max-height: 460px; overflow: auto; }
.make-fbmt__refhead { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.55); }
.make-fbmt__refbody { display: flex; flex-direction: column; gap: 10px; }
.make-fbmt__refitem { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; padding-bottom: 10px; border-bottom: 1px dotted rgba(31,37,43,.2); }
.make-fbmt__refitem:last-child { border-bottom: 0; padding-bottom: 0; }
.make-fbmt__refq { font-size: 13px; font-weight: 700; line-height: 1.35; }
.make-fbmt__refrating { align-self: start; min-width: 26px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--axis); color: var(--axis-ink); font: 800 12px/22px var(--make-sans); text-align: center; }
.make-fbmt__refa { grid-column: 1 / -1; font-size: 13.5px; line-height: 1.5; color: rgba(31,37,43,.82); overflow-wrap: anywhere; }
.make-fbmt__refitem--draft { grid-template-columns: minmax(0, 1fr); padding: 10px 12px; border-radius: 12px; background: #fff; border: 0; }

/* v0.24.2 Evaluaciones card on My feedback: one small card per person inside the banner */
.make-fbmc-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; margin: 4px 0 18px; }
.make-fbmc-grid .make-fbmc { margin-top: 0; background: #fff; color: var(--make-ink); border-color: rgba(31,37,43,.1); }
.make-fbmc-grid .make-fbmc__eyebrow { opacity: 1; color: rgba(31,37,43,.62); text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 700; }
.make-fbmc-grid .make-fbmc--due { background: var(--make-ink); border-color: var(--make-ink); color: #fff; }
.make-fbmc-grid .make-fbmc--due .make-fbmc__eyebrow { color: rgba(255,255,255,.7); }
.make-fbmc-grid .make-fbmc--due .make-fbmc__btn { background: var(--make-cyan, #43e7f9); border-color: var(--make-cyan, #43e7f9); color: var(--make-ink) !important; }

/* v0.24.3 meeting date/time in the page style: MAKE calendar pill (make_calendar.js) + matching time pill */
.make-fbmc__when { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; flex: 1 1 auto; min-width: 0; }
.make-fbmc__when .make-cal-field { margin-bottom: 0 !important; height: 36px; max-width: 170px; }
.make-fbmc__time { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 36px; margin: 0 !important; padding: 0 12px 0 14px; border: 1.5px solid rgba(31,37,43,.18); border-radius: 999px; background: #fff; color: var(--make-ink); cursor: pointer; transition: border-color var(--make-dur) var(--make-ease); text-transform: none !important; letter-spacing: 0 !important; }
.make-fbmc__time:hover, .make-fbmc__time:focus-within { border-color: var(--make-blue); }
.make-fbmc__time svg { flex: 0 0 15px; color: var(--make-blue); }
.make-fbmc__time select { appearance: none; -webkit-appearance: none; border: 0; background: transparent; padding: 0 2px; font: 700 14px/1 var(--make-sans); color: var(--make-ink); cursor: pointer; outline: none; }
.make-fbmt__field .make-fbmc__when { margin-top: 2px; }
.make-fbmc__form { flex-wrap: wrap; }

/* v0.24.4 MAKE time picker (make_calendar.js enhanceTime) + one-row meeting form + spacing under the banner text */
.make-time-field { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px 0 12px; border: 1.5px solid rgba(31,37,43,.18); border-radius: 999px; background: #fff; color: var(--make-ink); font: 700 14px/1 var(--make-sans); cursor: pointer; white-space: nowrap; transition: border-color var(--make-dur) var(--make-ease); }
.make-time-field:hover, .make-time-field[aria-expanded="true"] { border-color: var(--make-blue); }
.make-time-field svg { flex: 0 0 15px; color: var(--make-blue); }
.make-time { width: 264px; padding-bottom: 12px; }
.make-time__scroll { max-height: 260px; overflow-y: auto; margin: 0 -6px; padding: 0 6px; scrollbar-width: thin; }
.make-time__group { margin: 8px 0 6px; font: 700 11px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.45); }
.make-time__group:first-child { margin-top: 0; }
.make-time__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.make-time__slot { height: 32px; border: 0; border-radius: 999px; background: transparent; color: var(--make-ink); font: 600 13px/1 var(--make-sans); cursor: pointer; transition: background-color var(--make-dur) var(--make-ease), color var(--make-dur) var(--make-ease); }
.make-time__slot:hover { background: rgba(20,57,245,.1); color: var(--make-blue); }
.make-time__slot.is-selected { background: var(--make-blue); color: #fff; }
.make-fbmc__form { flex-wrap: nowrap !important; align-items: center; }
.make-fbmc__form .make-fbmc__when { flex: 0 1 auto; flex-wrap: nowrap; }
.make-fbmc__form .make-fbmc__btn { align-self: center; margin-left: auto; flex: 0 0 auto; }
.make-fbmc__when .make-cal-field { width: auto; min-width: 140px; }
.make-fbmc-grid { grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); margin-top: 22px !important; }
@media (max-width: 560px) { .make-fbmc-grid { grid-template-columns: minmax(0, 1fr); } .make-fbmc__form { flex-wrap: wrap !important; } }

/* v0.24.6 My feedback "The process" card (reuses Role changes' .make-rc-path pieces) */
.make-fbproc { padding: 20px 28px; display: flex; flex-direction: column; gap: 18px; }
.make-fbproc[open] { padding-bottom: 22px; }
.make-fbproc__summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.make-fbproc__summary::-webkit-details-marker { display: none; }
.make-fbproc__summary svg { flex: 0 0 16px; transition: transform .22s cubic-bezier(.22,1,.36,1); color: rgba(31,37,43,.55); }
.make-fbproc[open] .make-fbproc__summary svg { transform: rotate(180deg); }
.make-fbproc__row { display: flex; align-items: flex-start; margin-top: 18px; }
.make-fbproc__node { flex: 0 0 150px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.make-fbproc__who { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-fbproc__code { min-width: 44px; }
.make-fbproc__label { font-family: var(--make-display); font-weight: 800; font-size: 16px; line-height: 1.15; }
.make-fbproc__desc { font-size: 13px; line-height: 1.4; color: rgba(31,37,43,.7); text-wrap: pretty; }
.make-fbproc__link { align-self: flex-start; margin-top: 22px; padding-bottom: 0 !important; justify-content: flex-start !important; flex: 1 1 0; min-width: 40px; }
@media (max-width: 1100px) {
    .make-fbproc__row { flex-direction: column; align-items: stretch; gap: 0; }
    .make-fbproc__node { flex: none; display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "code label" "code who" "code desc"; column-gap: 14px; row-gap: 2px; text-align: left; align-items: start; }
    .make-fbproc__code { grid-area: code; }
    .make-fbproc__label { grid-area: label; }
    .make-fbproc__who { grid-area: who; }
    .make-fbproc__desc { grid-area: desc; }
    .make-fbproc__link { margin: 4px 0 4px 20px; min-height: 26px; flex-direction: row !important; align-items: stretch; gap: 10px; }
    .make-fbproc__link .make-rc-path__line { order: -1; border-top: 0 !important; border-left: 3px solid var(--make-blue); border-radius: 3px; }
    .make-fbproc__link.make-rc-path__link--reminder .make-rc-path__line { border-left: 3px dashed var(--make-amber); }
    .make-fbproc__link .make-rc-path__days { align-self: center; text-align: left; }
}

/* v0.24.7 "The process" folded: summary owns the padding so the title sits centred (no flex gap / bottom padding left over) */
.make-fbproc, .make-fbproc[open] { display: block !important; padding: 0 !important; }
.make-fbproc__summary { min-height: 64px; padding: 0 28px; box-sizing: border-box; line-height: 1; }
.make-fbproc__summary .make-rc-eyebrow { display: block; margin: 0; line-height: 1.2; }
.make-fbproc[open] .make-fbproc__row { margin: 0; padding: 4px 28px 0; }
.make-fbproc[open] .make-rc-legend { padding: 18px 28px 22px; }
/* v0.24.14 on a blue (Completed) person card the blue "due" box blended in but kept its 14px inset — sit flush with the name/pills */
.make-fb-usercard .make-fbmc--due { padding-left: 0; padding-right: 0; border: 0; background: transparent; }
.make-fbproc__row { flex-wrap: wrap; row-gap: 26px; }
.make-fbproc__body { overflow: hidden; }
.make-fbproc.is-closing .make-fbproc__summary svg { transform: none; }
.make-fbproc__break { flex: 0 0 100%; height: 0; }
.make-fbproc__node { flex: 0 1 150px; min-width: 0; }
.make-fbproc__link .make-rc-path__days { white-space: nowrap; }
@media (max-width: 1100px) {
    .make-fbproc__break { display: none; }
    .make-fbproc__link .make-rc-path__days { white-space: normal; }
}

/* v0.24.10 Hacer evaluación: hover a question → card with the team leader's answer, beside the reference column */
.make-fbmt__ref { max-height: none !important; overflow: visible !important; }
.make-fbmt__refitem--q { position: relative; margin: 0 -8px; padding: 8px 8px 10px; border-radius: 10px; cursor: help; transition: background-color var(--make-dur) var(--make-ease); outline: none; }
.make-fbmt__refitem--q:hover, .make-fbmt__refitem--q:focus-visible, .make-fbmt__refitem--q.is-open { background: #fff; box-shadow: 0 0 0 1.5px var(--axis); }
.make-fbmt__pop { position: absolute; z-index: 30; top: -6px; left: calc(100% + 18px); width: 300px; padding: 14px 16px 16px; border-radius: 18px; background: var(--make-paper); color: var(--make-ink); box-shadow: 0 0 0 1px rgba(31,37,43,.08), 0 18px 40px -12px rgba(31,37,43,.35); display: flex; flex-direction: column; gap: 10px; opacity: 0; visibility: hidden; transform: translateX(-6px); transition: opacity .16s ease, transform .2s cubic-bezier(.22,1,.36,1), visibility 0s linear .2s; pointer-events: none; cursor: default; }
.make-fbmt__pop::before { content: ""; position: absolute; top: 18px; left: -7px; width: 14px; height: 14px; background: var(--make-paper); transform: rotate(45deg); box-shadow: -1px 1px 0 rgba(31,37,43,.08); }
.make-fbmt__refitem--q:hover .make-fbmt__pop, .make-fbmt__refitem--q:focus-visible .make-fbmt__pop, .make-fbmt__refitem--q.is-open .make-fbmt__pop { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; pointer-events: auto; }
.make-fbmt__poptitle { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.55); }
.make-fbmt__poprating { display: flex; align-items: baseline; gap: 6px; }
.make-fbmt__popscore { font-family: var(--make-display); font-weight: 800; font-size: 34px; line-height: 1; color: var(--axis); }
.make-fbmt__popof { font-weight: 700; font-size: 14px; color: rgba(31,37,43,.5); }
.make-fbmt__poptext { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.make-fbmt__poptext--agr { padding: 10px 12px; border-radius: 12px; background: rgba(20,57,245,.06); }
.make-fbmt__popnone { font-size: 13px; font-style: italic; color: rgba(31,37,43,.5); }
.make-fbmt__refitem--q .make-fbmt__refa { display: none; }
/* Not enough room on the right → the card opens under the question instead. */
@media (max-width: 1500px) {
    .make-fbmt__pop { top: calc(100% + 8px); left: auto; right: 0; width: min(300px, 86vw); transform: translateY(-6px); }
    .make-fbmt__pop::before { top: -7px; left: auto; right: 22px; box-shadow: -1px -1px 0 rgba(31,37,43,.08); }
}

/* v0.24.11 answer opens INLINE under the clicked question (replaces the 0.24.10 floating card) */
.make-fbmt__refitem--q { cursor: pointer !important; user-select: none; }
.make-fbmt__refitem--q:hover { background: rgba(255,255,255,.7) !important; box-shadow: none !important; }
.make-fbmt__refitem--q:focus-visible { box-shadow: 0 0 0 2px var(--make-blue) !important; }
.make-fbmt__refitem--q.is-open { background: #fff !important; box-shadow: 0 0 0 1.5px var(--axis) !important; }
.make-fbmt__refitem--q .make-fbmt__refrating { display: inline-flex; align-items: center; gap: 3px; min-width: 0; padding: 0 7px 0 9px; }
.make-fbmt__refitem--q .make-fbmt__refrating svg { transition: transform .2s cubic-bezier(.22,1,.36,1); }
.make-fbmt__refitem--q.is-open .make-fbmt__refrating svg { transform: rotate(180deg); }
.make-fbmt__pop, .make-fbmt__refitem--q:hover .make-fbmt__pop, .make-fbmt__refitem--q:focus-visible .make-fbmt__pop { position: static !important; grid-column: 1 / -1; width: auto !important; display: none; padding: 10px 0 0 !important; margin-top: 4px; border-top: 1px dotted rgba(31,37,43,.2); border-radius: 0 !important; background: transparent !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto; cursor: text; user-select: text; }
.make-fbmt__pop::before { display: none !important; }
.make-fbmt__refitem--q.is-open .make-fbmt__pop { display: flex; }
.make-fbmt__popscore { font-size: 26px; }


/* v0.25.0 1to1s (fb_onetoones.php list, fb_onetoone.php series) */
.make-oto { --oto-ok: #2c5545; --oto-warn: var(--make-amber); --oto-risk: var(--make-magenta); }
.make-oto-rowbtn { display: inline-flex; align-items: center; height: 32px; padding: 0 16px; border-radius: 999px !important; font: 700 13px/1 var(--make-sans); white-space: nowrap; border: 1.5px solid rgba(31,37,43,.18); background: transparent; color: var(--make-ink) !important; cursor: pointer; text-decoration: none !important; transition: transform .15s, border-color .15s; }
.make-oto-rowbtn:hover { transform: translateY(-1px); border-color: var(--make-blue); color: var(--make-blue) !important; }
.make-oto-rowbtn--todo { background: var(--make-blue); border-color: var(--make-blue); color: #fff !important; }
.make-oto-rowbtn--todo:hover { background: #0f2fd6; color: #fff !important; }
.make-oto-startform { margin: 0; }
.make-oto-steps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.make-oto-step { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 12px 14px; border-radius: 16px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.1); }
.make-oto-step__n { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(31,37,43,.08); font: 800 13px/1 var(--make-display); margin-bottom: 4px; }
.make-oto-step__label { font-family: var(--make-display); font-weight: 800; font-size: 14.5px; line-height: 1.2; }
.make-oto-step__sub { font-size: 12.5px; color: rgba(31,37,43,.62); }
.make-oto-step--done .make-oto-step__n { background: var(--make-ink); color: #fff; }
.make-oto-step--current { border: 1.5px solid var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.1); }
.make-oto-step--current .make-oto-step__n { background: var(--make-blue); color: #fff; }
.make-oto-step--todo { opacity: .62; }
.make-oto-step--feedback { background: transparent; border-style: dashed; }
.make-oto-step--feedback .make-oto-step__n { background: var(--make-cyan); }
@media (max-width: 900px) { .make-oto-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .make-oto-steps { grid-template-columns: minmax(0, 1fr); } }
.make-oto-fill { display: flex; flex-direction: column; gap: 16px; padding: 16px 18px 18px; }
.make-oto-fill__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .make-oto-fill__cols { grid-template-columns: minmax(0, 1fr); } }
.make-oto .make-fbmt__input.make-oto-input { min-height: 96px; border-color: rgba(31,37,43,.18); }
.make-oto .make-fbmt__input.make-oto-input:focus { border-color: var(--make-blue); }
.make-oto-change { margin-top: 2px; }
.make-oto-change > summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; font: 700 13px/1 var(--make-sans); color: var(--make-blue); }
.make-oto-change > summary::-webkit-details-marker { display: none; }
.make-oto-change > summary::before { content: '+'; font-size: 16px; line-height: 1; }
.make-oto-change[open] > summary::before { content: '–'; }
.make-oto-change > .make-oto-input { margin-top: 8px; }
.make-oto-fill__sem { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.make-oto-picks { display: flex; flex-wrap: wrap; gap: 8px; }
.make-oto-pick { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 36px; margin: 0; padding: 0 16px 0 12px; border-radius: 999px; border: 1.5px solid rgba(31,37,43,.18); background: #fff; font: 700 13.5px/1 var(--make-sans); cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.make-oto-pick input { position: absolute; opacity: 0; pointer-events: none; }
.make-oto-pick::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.make-oto-pick--ok { --c: var(--oto-ok); }
.make-oto-pick--warn { --c: var(--oto-warn); }
.make-oto-pick--risk { --c: var(--oto-risk); }
.make-oto-pick:hover { border-color: var(--c); }
.make-oto-pick:has(input:checked) { background: var(--c); border-color: var(--c); color: #fff; }
.make-oto-pick--warn:has(input:checked) { color: var(--make-ink); }
.make-oto-pick:has(input:checked)::before { background: #fff; }
.make-oto-pick:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(20,57,245,.2); }
.make-oto-sem { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font: 700 12px/1.2 var(--make-sans); background: var(--c); color: #fff; white-space: nowrap; }
.make-oto-sem--ok { --c: var(--oto-ok); }
.make-oto-sem--warn { --c: var(--oto-warn); color: var(--make-ink); }
.make-oto-sem--risk { --c: var(--oto-risk); }
.make-oto-grid__wrap { overflow-x: auto; padding: 4px 6px 10px; }
.make-oto-grid { width: 100%; min-width: 820px; border-collapse: separate; border-spacing: 0; table-layout: fixed; margin: 0 !important; }
.make-oto-grid th, .make-oto-grid td { padding: 10px 12px; vertical-align: top; text-align: left; font-size: 13.5px; line-height: 1.45; border-bottom: 1px solid rgba(31,37,43,.08); overflow-wrap: anywhere; }
.make-oto-grid thead th { font: 800 12px/1.2 var(--make-sans); letter-spacing: .06em; text-transform: uppercase; color: rgba(31,37,43,.62); }
.make-oto-grid thead th span { display: block; margin-top: 2px; text-transform: none; letter-spacing: 0; font-weight: 700; color: var(--make-ink); }
.make-oto-grid tbody th { width: 160px; font: 700 12.5px/1.3 var(--make-sans); color: rgba(31,37,43,.7); }
.make-oto-grid__corner { width: 160px; }
.make-oto-grid tbody tr:last-child > * { border-bottom: 0; }
.make-oto-grid__row--acuerdo td:not(.make-oto-grid__six) { background: rgba(20,57,245,.05); }
.make-oto-grid__off { background: rgba(31,37,43,.02); }
.make-oto-grid__new { margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(20,57,245,.35); }
.make-oto-grid__new .make-fbmt__lbl { display: block; color: var(--make-blue); margin-bottom: 2px; }
.make-oto-grid td.make-oto-grid__six { vertical-align: middle; text-align: center; font-weight: 700; color: rgba(31,37,43,.62); border-left: 1.5px dashed rgba(31,37,43,.2); }
.make-oto-grid th.make-oto-grid__six { border-left: 1.5px dashed rgba(31,37,43,.2); }

/* v0.25.3 1to1s: select-to-delete on the list + "prepare, then book" steps */
.make-oto-row--select { grid-template-columns: 22px 12px minmax(0,1fr) auto; }
.make-oto-row--select .make-fbm-pickdot { opacity: 0; transition: opacity .15s; }
.make-oto-row--select:hover .make-fbm-pickdot, .make-oto-list.is-picking .make-fbm-pickdot, .make-oto-row--select .make-fbm-pickdot:focus-within, .make-oto-row--select .make-fbm-pickdot.is-on { opacity: 1; }
.make-oto-row--select.is-selected { background: rgba(20,57,245,.06); }
@media (hover: none) { .make-oto-row--select .make-fbm-pickdot { opacity: 1; } }
.make-oto-stepcard { flex-wrap: nowrap !important; }
.make-oto-stepbody { display: flex; flex-direction: column; gap: 4px; flex: 1 1 auto; min-width: 0; }
.make-oto-stepno { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font: 800 14px/1 var(--make-display); background: #fff; color: var(--make-blue); }
.make-fbmc--scheduled .make-oto-stepno { background: rgba(31,37,43,.08); color: var(--make-ink); }
.make-oto-stepno--done { background: var(--make-ink) !important; color: #fff !important; }
.make-oto-book { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border-radius: 18px; border: 1px solid rgba(31,37,43,.1); background: var(--make-paper); transition: opacity .2s; }
.make-oto-book .make-fbmt__whenform { padding: 0; border: 0; background: transparent; }
.make-oto-bookhead { display: flex; align-items: center; gap: 14px; }
.make-oto-bookhead .make-oto-stepno { background: rgba(31,37,43,.08); color: var(--make-ink); }
.make-oto-book--wait { opacity: .6; }
.make-oto-book--wait:hover, .make-oto-book--wait:focus-within { opacity: 1; }
@media (max-width: 640px) { .make-oto-stepcard { flex-wrap: wrap !important; } }

/* v0.25.5 typed time pill (fb_meeting::when_fields) — same pill as before, but you type HH:MM */
.make-time-field--type { cursor: text; margin: 0 !important; }
.make-time-field--type:focus-within { border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-time-field--type input { width: 5.2ch; min-width: 0; height: auto !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none; font: 700 14px/1 var(--make-sans) !important; color: var(--make-ink); letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.make-time-field--type input::placeholder { color: rgba(31,37,43,.4); font-weight: 600; }
.make-time-field--type.is-invalid { border-color: #c0182b; }
.make-time-field--type.is-invalid svg { color: #c0182b; }

/* v0.25.7 1to1s page: Directors notify team leaders to start their 1to1s */
.make-oto-notifybar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 12px 0 2px; padding: 12px 14px 12px 18px; border-radius: 16px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.1); }
.make-oto-notifybar__text { font-size: 14px; color: rgba(31,37,43,.75); }
.make-oto-rowbtns { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

/* v0.25.8 dashboard: Director's "start your 1to1s" reminder card (hook_callbacks::add_oto_nudge, hero.js placeOtoNudge) */
.make-oto-nudge { display: flex; align-items: center; gap: 18px; margin: 18px 0 6px; padding: 18px 20px 18px 18px; border-radius: 20px; background: var(--make-blue); color: #fff; box-shadow: 0 10px 28px -16px rgba(20,57,245,.7); }
.make-oto-nudge__icon { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--make-cyan); color: var(--make-ink); }
.make-oto-nudge__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.make-oto-nudge__eyebrow { font: 800 11px/1.2 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.78); }
.make-oto-nudge__title { font-family: var(--make-display); font-weight: 800; font-size: 19px; line-height: 1.2; color: #fff; }
.make-oto-nudge__body, .make-oto-nudge__names { font-size: 14px; line-height: 1.4; color: rgba(255,255,255,.88); }
.make-oto-nudge__names { font-weight: 700; }
.make-oto-nudge__btn { flex: 0 0 auto; display: inline-flex; align-items: center; height: 40px; padding: 0 20px; border-radius: 999px; background: #fff; color: var(--make-blue) !important; font: 800 14px/1 var(--make-sans); text-decoration: none !important; white-space: nowrap; transition: transform .15s; }
.make-oto-nudge__btn:hover { transform: translateY(-1px); }
@media (max-width: 640px) { .make-oto-nudge { flex-wrap: wrap; } .make-oto-nudge__btn { margin-left: 66px; } }
.make-oto-nudge + .make-oto-nudge { margin-top: 10px !important; }
.make-oto-nudge--pink { background: #ff27e1 !important; }
.make-oto-nudge--pink .make-oto-nudge__icon { background: #fff !important; color: #ff27e1 !important; }
.make-oto-nudge--pink .make-oto-nudge__btn { color: #1f252b !important; }
.make-oto-nudge--pink .make-oto-nudge__eyebrow, .make-oto-nudge--pink .make-oto-nudge__body, .make-oto-nudge--pink .make-oto-nudge__names { color: #fff !important; }
.make-oto-nudge--pinksoft { background: #ffd9f8 !important; color: #1f252b !important; box-shadow: inset 0 0 0 2px #ff27e1 !important; }
.make-oto-nudge--pinksoft .make-oto-nudge__icon { background: #ff27e1 !important; color: #fff !important; }
.make-oto-nudge--pinksoft .make-oto-nudge__title, .make-oto-nudge--pinksoft .make-oto-nudge__body, .make-oto-nudge--pinksoft .make-oto-nudge__names { color: #1f252b !important; }
.make-oto-nudge--pinksoft .make-oto-nudge__eyebrow { color: #a3008c !important; }
.make-oto-nudge--pinksoft .make-oto-nudge__btn { background: #ff27e1 !important; color: #fff !important; }
.make-oto-nudge--cyan { background: #43e7f9 !important; color: #1f252b !important; }
.make-oto-nudge--cyansoft { background: #d4f9fd !important; color: #1f252b !important; box-shadow: inset 0 0 0 2px #43e7f9 !important; }
.make-oto-nudge--cyansoft .make-oto-nudge__icon { background: #43e7f9 !important; color: #1f252b !important; }
.make-oto-nudge--cyansoft .make-oto-nudge__title, .make-oto-nudge--cyansoft .make-oto-nudge__body, .make-oto-nudge--cyansoft .make-oto-nudge__names { color: #1f252b !important; }
.make-oto-nudge--cyansoft .make-oto-nudge__eyebrow { color: #0b6f7c !important; }
.make-oto-nudge--cyansoft .make-oto-nudge__btn { background: #1f252b !important; color: #fff !important; }
.make-oto-nudge--cyan .make-oto-nudge__icon { background: #1f252b !important; color: #43e7f9 !important; }
.make-oto-nudge--cyan .make-oto-nudge__title, .make-oto-nudge--cyan .make-oto-nudge__body, .make-oto-nudge--cyan .make-oto-nudge__names { color: #1f252b !important; }
.make-oto-nudge--cyan .make-oto-nudge__eyebrow { color: rgba(31,37,43,.72) !important; }
.make-oto-nudge--cyan .make-oto-nudge__btn { background: #1f252b !important; color: #fff !important; }

/* v0.25.9 Calendar day popover (hover a day with events) in the MAKE style — cream card, eyebrow date, blue event rows.
   Bootstrap 5 appends .popover to <body>, so this is site-wide; the calendar is the only place Moodle uses it here. */
.popover {
    --bs-popover-bg: var(--make-paper);
    --bs-popover-border-color: rgba(31,37,43,.1);
    --bs-popover-border-radius: 18px;
    --bs-popover-inner-border-radius: 17px;
    --bs-popover-max-width: 300px;
    --bs-popover-box-shadow: 0 18px 40px -18px rgba(31,37,43,.35), 0 2px 6px rgba(31,37,43,.06);
    --bs-popover-header-bg: transparent;
    --bs-popover-header-color: rgba(31,37,43,.62);
    --bs-popover-header-padding-x: 18px;
    --bs-popover-header-padding-y: 14px;
    --bs-popover-body-padding-x: 14px;
    --bs-popover-body-padding-y: 0;
    --bs-popover-body-color: var(--make-ink);
    --bs-popover-arrow-border: rgba(31,37,43,.1);
    font-family: var(--make-sans) !important;
    border-radius: 18px !important;
    box-shadow: var(--bs-popover-box-shadow) !important;
    overflow: visible;
    /* v0.29.6: was make-pop-in, which animates transform — and Popper positions the popover WITH transform, so the
       animation (fill: both) wiped its position and the popover landed bottom-left. Fade only + translate property. */
    animation: make-popover-in var(--make-dur, .2s) var(--make-ease, ease) both;
}
@keyframes make-popover-in { from { opacity: 0; translate: 0 -4px; } to { opacity: 1; translate: 0 0; } }
.popover .popover-header {
    position: relative;
    margin: 0 !important;
    padding: 14px 18px 10px !important;
    border-bottom: 0 !important;
    background: transparent !important;
    font: 800 11px/1.2 var(--make-sans) !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(31,37,43,.62) !important;
}
.popover .popover-header::before { content: none !important; display: none !important; } /* v0.29.8: colour stripe removed */
.popover .popover-body { padding: 0 10px 12px !important; font-size: 14px; line-height: 1.35; color: var(--make-ink); }
.popover .popover-body > div { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 4px; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid rgba(31,37,43,.08); font-weight: 700; }
.popover .popover-body > div:last-child { margin-bottom: 0; }
.popover .popover-body > div .icon { flex: 0 0 auto; width: 26px !important; height: 26px !important; margin: -3px 0 0 !important; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(20,57,245,.1); color: var(--make-blue) !important; font-size: 12px !important; }
.popover .popover-body a { color: var(--make-ink) !important; text-decoration: none !important; }
.popover .popover-body a:hover { color: var(--make-blue) !important; }
.popover .popover-arrow::after { border-top-color: var(--make-paper) !important; border-bottom-color: var(--make-paper) !important; border-left-color: var(--make-paper) !important; border-right-color: var(--make-paper) !important; }
.popover.bs-popover-auto[data-popper-placement^="top"] .popover-arrow::before, .popover.bs-popover-top .popover-arrow::before { border-top-color: rgba(31,37,43,.1) !important; }
.popover.bs-popover-auto[data-popper-placement^="bottom"] .popover-arrow::before, .popover.bs-popover-bottom .popover-arrow::before { border-bottom-color: rgba(31,37,43,.1) !important; }
.popover.bs-popover-auto[data-popper-placement^="left"] .popover-arrow::before, .popover.bs-popover-start .popover-arrow::before { border-left-color: rgba(31,37,43,.1) !important; }
.popover.bs-popover-auto[data-popper-placement^="right"] .popover-arrow::before, .popover.bs-popover-end .popover-arrow::before { border-right-color: rgba(31,37,43,.1) !important; }

/* v0.25.10 typed time pill: 24h tag */
.make-time-field__unit { font: 800 10.5px/1 var(--make-sans); letter-spacing: .06em; color: rgba(31,37,43,.45); text-transform: uppercase; }
.make-time-field--type input { width: 5.4ch; }

/* v0.25.12 1to1 page: wider page so the Seguimiento grid fits without side-scrolling, roomier cells */
body#page-theme-make-fb_onetoone #topofscroll, body#page-theme-make-fb_onetoone .main-inner,
body#page-theme-make-fb_onetoone #page-header, body#page-theme-make-fb_onetoone #page-content,
body#page-theme-make-fb_onetoone #region-main { max-width: 1320px !important; }
body#page-theme-make-fb_onetoone .make-fbm--page { max-width: 1320px; }
body#page-theme-make-fb_onetoone .make-fbm-banner { max-width: none; }
.make-oto-grid__wrap { padding: 0; }
.make-oto-grid { min-width: 960px; border: 0 !important; background: transparent !important; }
.make-oto-grid th, .make-oto-grid td { padding: 16px 16px !important; min-height: 64px; height: 64px; font-size: 14px !important; line-height: 1.5 !important; background: transparent; border: 0 !important; border-bottom: 1px solid rgba(31,37,43,.08) !important; border-right: 1px solid rgba(31,37,43,.06) !important; }
.make-oto-grid th:last-child, .make-oto-grid td:last-child { border-right: 0 !important; }
.make-oto-grid thead th { padding-top: 14px !important; padding-bottom: 14px !important; height: auto; background: rgba(31,37,43,.03) !important; }
.make-oto-grid tbody th, .make-oto-grid__corner { width: 190px; }
.make-oto-grid .make-oto-grid__six { width: 170px; }
.make-oto-grid__row--acuerdo td:not(.make-oto-grid__six) { background: rgba(20,57,245,.05) !important; }
.make-oto-grid__off { background: rgba(31,37,43,.02) !important; }
.make-oto-grid td.make-oto-grid__six { font-size: 13px !important; padding: 18px !important; }

/* v0.25.13 booking/meeting forms: shorter place field, time pill no longer clipped */
.make-fbmt__whenform .make-fbmt__field--grow { flex: 0 1 340px; max-width: 340px; }
.make-time-field--type { flex: 0 0 auto !important; width: auto !important; min-width: 0; overflow: visible; padding: 0 14px 0 12px !important; gap: 7px; box-sizing: border-box; }
.make-time-field--type input { flex: 0 0 auto; width: 6ch !important; max-width: none !important; min-width: 6ch; }
.make-time-field__unit { flex: 0 0 auto; padding-left: 2px; }
@media (max-width: 640px) { .make-fbmt__whenform .make-fbmt__field--grow { flex: 1 1 100%; max-width: none; } }

/* v0.25.14 left nav: selected / hover indicator is a full pill — no blue bar on the left edge */
.make-nav-drawer__link, .make-nav-drawer__sublink { border-radius: 999px !important; }
.make-nav-drawer__link--active, .make-nav-drawer__sublink--active { box-shadow: none !important; border-radius: 999px !important; }
.make-nav-drawer__link--active::before, .make-nav-drawer__sublink--active::before { display: none !important; }
.make-nav-drawer__link:not(.make-nav-drawer__link--active):not(.make-nav-drawer__link--pill):hover { background-color: rgba(31,37,43,.06) !important; }

/* v0.25.15 left nav: breathing room — a small gap between every item so two pills never touch, and the selected item
   sits a little lower (extra space above it) so a hovered neighbour doesn't crowd it */
.make-nav-drawer__link { margin-top: 2px !important; margin-bottom: 2px !important; }
.make-nav-drawer__link--active,
.make-nav-drawer__row:has(> .make-nav-drawer__link--active) { margin-top: 8px !important; }
.make-nav-drawer__row:has(> .make-nav-drawer__link--active) > .make-nav-drawer__link--active { margin-top: 0 !important; }
.make-nav-drawer__sublink { margin-top: 1px; margin-bottom: 1px; }
/* v0.26.6: the 0.25.15 2px margin overrode the Settings pill's margin-top:auto — pin it back to the bottom of the nav */
.make-nav-drawer__link.make-nav-drawer__link--pill { margin-top: auto !important; }

/* v0.25.16 no more "left accent bar" cards: highlighted rows / items are pills (rounded ends, no blue edge line) */
.make-fbm-row--latest { box-shadow: none !important; border-left: 0 !important; border-radius: 999px !important; padding-left: 28px !important; padding-right: 22px !important; }
.make-fbah__entry--latest > summary { box-shadow: none !important; border-radius: 999px !important; padding-left: 20px !important; padding-right: 20px !important; }
.list-group-item.active { box-shadow: none !important; border-radius: 999px !important; }
.make-fbmt__final .make-fbmt__txt { box-shadow: none !important; border-radius: 18px !important; padding: 12px 16px !important; }
@media (max-width: 640px) { .make-fbm-row--latest { border-radius: 24px !important; padding-left: 18px !important; } }

/* v0.25.17 wider pills + a bit more room on the My-feedback-style pages */
.make-fbm--page { max-width: 1080px; }
.make-fbm-row--latest { margin-left: -16px !important; margin-right: -16px !important; padding-left: 40px !important; padding-right: 34px !important; }
.make-fbah__entry--latest > summary { margin-left: -12px; margin-right: -12px; padding-left: 30px !important; padding-right: 30px !important; }
@media (max-width: 640px) { .make-fbm-row--latest { margin-left: -6px !important; margin-right: -6px !important; padding-left: 22px !important; padding-right: 18px !important; } }

/* v0.25.18 pills no longer pushed past the list edge (they got clipped) — full width of the list, roomy inside;
   no divider lines under section titles or between rows in the My-feedback-style lists */
.make-fbm-row--latest { margin-left: 0 !important; margin-right: 0 !important; padding-left: 32px !important; padding-right: 26px !important; }
.make-fbah__entry--latest > summary { margin-left: 0 !important; margin-right: 0 !important; padding-left: 24px !important; padding-right: 24px !important; }
.make-fbm-history .make-fbm-eyebrow { border-bottom: 0 !important; padding-bottom: 4px !important; }
.make-fbm-row, .make-fbm--page .make-fbm-row { border-bottom: 0 !important; border-top: 0 !important; }
.make-fbm-history { gap: 4px; }

/* v0.26.15 1to1 Seguimiento: one month at a time with older / newer arrows (fb_onetoone.php) */
.make-oto-pager__nav { display: flex; align-items: center; gap: 14px; margin: 6px 0 14px; padding: 12px 14px; border-radius: 999px; background: var(--make-paper); box-shadow: inset 0 0 0 1px rgba(31,37,43,.1); }
.make-oto-pager__arrow { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; border: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--make-ink); color: #fff; cursor: pointer; transition: transform .18s ease, opacity .18s ease; }
.make-oto-pager__arrow:hover:not(:disabled) { transform: translateY(-1px); background: var(--make-blue); }
.make-oto-pager__arrow:disabled { opacity: .25; cursor: default; }
.make-oto-pager__mid { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.make-oto-pager__label { display: flex; flex-direction: column; gap: 2px; }
.make-oto-pager__label strong { font-family: var(--make-display); font-weight: 800; font-size: 19px; line-height: 1.15; color: var(--make-ink); }
.make-oto-pager__label span { font-size: 13px; color: rgba(31,37,43,.65); }
.make-oto-pager__dots { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
.make-oto-pager__dot { min-width: 28px; height: 28px; padding: 0 8px; border-radius: 999px; border: 0; background: rgba(31,37,43,.08); color: var(--make-ink); font: 800 12px/1 var(--make-display); cursor: pointer; }
.make-oto-pager__dot:hover { background: rgba(31,37,43,.16); }
.make-oto-pager__dot.is-active { background: var(--make-blue); color: #fff; }
.make-oto-pager__page[hidden] { display: none !important; }
.make-oto-pager__page { display: flex; flex-direction: column; gap: 14px; }
.make-oto-month__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.make-oto-month__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; margin-top: 10px; }
.make-oto-month__cell { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 16px; background: rgba(255,255,255,.6); }
.make-oto-month__cell--acuerdo { grid-column: 1 / -1; }
.make-oto-month__txt { font-size: 14px; line-height: 1.45; color: var(--make-ink); text-wrap: pretty; }
.make-oto-pager__foot { margin-top: 10px; }

/* v0.26.16 1to1 Seguimiento: section bar — one section at a time (scrollable pill strip + arrows) or "View all" */
.make-oto-secbar { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.make-oto-secbar__tabs { flex: 1 1 auto; min-width: 0; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding: 4px 2px; }
.make-oto-secbar__tabs::-webkit-scrollbar { display: none; }
.make-oto-secbar__tab { flex: 0 0 auto; scroll-snap-align: center; height: 38px; padding: 0 16px; border-radius: 999px; border: 0; background: var(--make-paper); color: var(--make-ink);
  box-shadow: inset 0 0 0 2px var(--axis); font: 800 13px/1 var(--make-display); letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; cursor: pointer; transition: background-color .18s ease, color .18s ease; }
.make-oto-secbar__tab:hover { background: color-mix(in oklab, var(--axis) 14%, var(--make-paper)); }
.make-oto-secbar__tab.is-active { background: var(--axis); color: var(--axis-ink); }
.make-oto-secbar__arrow { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; border: 0; display: inline-flex; align-items: center; justify-content: center; background: rgba(31,37,43,.08); color: var(--make-ink); cursor: pointer; }
.make-oto-secbar__arrow:hover:not(:disabled) { background: var(--make-ink); color: #fff; }
.make-oto-secbar__arrow:disabled { opacity: .3; cursor: default; }
.make-oto-secbar__all { flex: 0 0 auto; height: 38px; padding: 0 18px; border-radius: 999px; border: 0; background: var(--make-ink); color: #fff; font: 800 13px/1 var(--make-display); cursor: pointer; white-space: nowrap; }
.make-oto-secbar__all:hover { background: var(--make-blue); }
.make-oto-pager--all .make-oto-secbar__all { background: var(--make-blue); }
.make-oto-pager--all .make-oto-secbar__tab { opacity: .55; }
.make-oto-pager__axis[hidden] { display: none !important; }
@media (max-width: 640px) { .make-oto-secbar { flex-wrap: wrap; } .make-oto-secbar__tabs { order: -1; flex-basis: 100%; } .make-oto-secbar__all { margin-left: auto; } }

/* v0.26.17 TRIAL — Seguimiento parts as cards. All scoped to .make-oto-pager--cards (fb_onetoone::MONTH_CARDS = false removes it) */
.make-oto-pager--cards .make-oto-pager__axis { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; }
.make-oto-pager--cards .make-oto-month__head { margin-bottom: 2px; }
.make-oto-pager--cards .make-oto-month__head .make-fbmt__axistitle { border-radius: 999px !important; padding: 9px 20px !important; }
.make-oto-pager--cards .make-oto-month__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
.make-oto-pager--cards .make-oto-month__cell { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 10px; min-height: 120px;
  padding: 20px 20px 18px; border-radius: 20px; background: var(--make-paper); box-shadow: 0 1px 0 rgba(31,37,43,.04), 0 8px 22px -14px rgba(31,37,43,.28), inset 0 0 0 1px rgba(31,37,43,.08); }
.make-oto-pager--cards .make-oto-month__cell::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 5px; background: var(--axis); }
.make-oto-pager--cards .make-oto-month__cell .make-fbmt__lbl { font: 800 11px/1.3 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.6); text-wrap: balance; }
.make-oto-pager--cards .make-oto-month__txt { font-size: 15px; line-height: 1.5; color: var(--make-ink); text-wrap: pretty; overflow-wrap: anywhere; }
.make-oto-pager--cards .make-oto-month__cell--acuerdo { grid-column: 1 / -1; min-height: 0; background: color-mix(in oklab, var(--axis) 9%, var(--make-paper)); }
.make-oto-pager--cards .make-oto-month__cell--acuerdo .make-oto-month__txt { font-family: var(--make-display); font-weight: 700; font-size: 17px; }
.make-oto-pager--cards .make-oto-month__cell--semaforo { grid-column: 1 / -1; min-height: 0; flex-direction: row; align-items: center; justify-content: space-between; padding-top: 16px; padding-bottom: 14px; }
.make-oto-pager--cards .make-oto-month__cell--semaforo::before { display: none; }
.make-oto-pager--cards .make-fbmt__empty { color: rgba(31,37,43,.35); }
.make-oto-pager--cards .make-oto-grid__new { margin-top: 10px; padding-top: 10px; border-top: 1px dashed rgba(31,37,43,.18); font-family: var(--make-sans); font-weight: 400; font-size: 15px; }
.make-oto-pager--cards .make-oto-pager__page { gap: 26px; }
@media (max-width: 900px) { .make-oto-pager--cards .make-oto-month__grid { grid-template-columns: minmax(0, 1fr); } }

/* v0.26.18 TRIAL cards: the colour bar grows into a header band holding the card's title; roomier cards */
.make-oto-pager--cards .make-oto-month__grid { gap: 18px; }
.make-oto-pager--cards .make-oto-month__cell { padding: 0 !important; gap: 0 !important; min-height: 190px; border-radius: 22px; }
.make-oto-pager--cards .make-oto-month__cell::before { display: none !important; }
.make-oto-pager--cards .make-oto-month__cell > .make-fbmt__lbl { display: block; margin: 0; padding: 14px 22px 13px; background: var(--axis); color: var(--axis-ink) !important; }
.make-oto-pager--cards .make-oto-month__cell > .make-oto-month__txt { flex: 1 1 auto; padding: 20px 22px 22px; font-size: 16px; }
.make-oto-pager--cards .make-oto-month__cell--acuerdo { min-height: 150px; background: var(--make-paper); }
.make-oto-pager--cards .make-oto-month__cell--acuerdo > .make-oto-month__txt { font-size: 18px; }
.make-oto-pager--cards .make-oto-month__cell--semaforo { min-height: 0; flex-direction: column; align-items: stretch; padding: 0 !important; }
.make-oto-pager--cards .make-oto-month__cell--semaforo > .make-oto-month__txt { padding: 16px 22px 18px; }

/* v0.26.19 TRIAL cards: Acuerdo vigente is the same size as the others (one column, its own row on top), body with a subtle blue tint */
.make-oto-pager--cards .make-oto-month__cell--acuerdo { grid-column: 1 / span 1 !important; min-height: 190px; background: color-mix(in oklab, var(--make-blue) 7%, var(--make-paper)) !important; }
.make-oto-pager--cards .make-oto-month__cell--acuerdo > .make-oto-month__txt { font-size: 16px; font-family: var(--make-sans); font-weight: 400; }
.make-oto-pager--cards .make-oto-month__cell--avances { grid-column-start: 1; }
@media (max-width: 900px) { .make-oto-pager--cards .make-oto-month__cell--acuerdo { grid-column: 1 / -1 !important; } }

/* v0.26.20 TRIAL cards: Semáforo as a pill next to the section title */
.make-oto-pager--cards .make-oto-month__head { justify-content: flex-start; gap: 10px; }
.make-oto-pager--cards .make-oto-month__sempill { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 6px 0 16px; border-radius: 999px; background: var(--make-paper); box-shadow: inset 0 0 0 1px rgba(31,37,43,.12); }
.make-oto-pager--cards .make-oto-month__semlbl { font: 800 11px/1 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-oto-pager--cards .make-oto-month__sempill .make-oto-sem { height: 28px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: 999px; font-size: 13px; }
.make-oto-pager--cards .make-oto-sem--none { background: rgba(31,37,43,.07); color: rgba(31,37,43,.55); font-weight: 600; }
/* v0.26.20 TRIAL cards: Acuerdo vigente as a dark full-width "the goal" strip — the reference the three monthly cards report against */
.make-oto-pager--cards .make-oto-month__cell--acuerdo { grid-column: 1 / -1 !important; min-height: 0 !important; display: grid !important; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: stretch; background: var(--make-ink) !important; box-shadow: 0 14px 30px -18px rgba(31,37,43,.55) !important; }
.make-oto-pager--cards .make-oto-month__cell--acuerdo > .make-fbmt__lbl { display: flex; align-items: center; padding: 20px 22px; font-size: 12px; }
.make-oto-pager--cards .make-oto-month__cell--acuerdo > .make-oto-month__txt { padding: 20px 26px; color: #fff; font-family: var(--make-display); font-weight: 700; font-size: 18px; line-height: 1.4; display: flex; flex-direction: column; justify-content: center; }
.make-oto-pager--cards .make-oto-month__cell--acuerdo .make-fbmt__empty { color: rgba(255,255,255,.4); }
.make-oto-pager--cards .make-oto-month__cell--acuerdo .make-oto-grid__new { border-top-color: rgba(255,255,255,.25); color: #fff; }
.make-oto-pager--cards .make-oto-month__cell--acuerdo .make-oto-grid__new .make-fbmt__lbl { color: var(--make-cyan); }
@media (max-width: 640px) { .make-oto-pager--cards .make-oto-month__cell--acuerdo { grid-template-columns: minmax(0, 1fr); } }

/* v0.26.21 TRIAL cards: Acuerdo vigente strip — white body instead of dark, ink text */
.make-oto-pager--cards .make-oto-month__cell--acuerdo { background: #fff !important; box-shadow: 0 1px 0 rgba(31,37,43,.04), 0 8px 22px -14px rgba(31,37,43,.28), inset 0 0 0 1px rgba(31,37,43,.08) !important; }
.make-oto-pager--cards .make-oto-month__cell--acuerdo > .make-oto-month__txt { color: var(--make-ink); }
.make-oto-pager--cards .make-oto-month__cell--acuerdo .make-fbmt__empty { color: rgba(31,37,43,.35); }
.make-oto-pager--cards .make-oto-month__cell--acuerdo .make-oto-grid__new { border-top-color: rgba(31,37,43,.18); color: var(--make-ink); }
.make-oto-pager--cards .make-oto-month__cell--acuerdo .make-oto-grid__new .make-fbmt__lbl { color: var(--make-blue); }

/* v0.29.3 HDR: photos taken on recent phones (Ultra HDR / gain-map JPEGs) render brighter than the rest of the UI on
   HDR screens (e.g. Galaxy S24 Ultra), so the page looks dull next to them. Keep every image in standard range. */
img, video, picture, .make-hero-strip__photo, [style*="background-image"] { dynamic-range-limit: standard; }

/* v0.29.8 calendar block: the day popover opens when hovering ANYWHERE in the day cell, not just the 22px number.
   The popover trigger's ::before stretches over the whole cell (td is the positioning box, trigger + wrappers static),
   so hovering the cell IS hovering the trigger — Popper still anchors to the number. */
.block_calendar_month .calendartable td.hasevent { position: relative !important; }
.block_calendar_month .calendartable td.hasevent [data-bs-toggle="popover"],
.block_calendar_month .calendartable td.hasevent *:has([data-bs-toggle="popover"]) { position: static !important; }
.block_calendar_month .calendartable td.hasevent [data-bs-toggle="popover"]::before {
  content: ''; position: absolute; inset: 0; z-index: 1; cursor: pointer;
}

/* v0.29.9 Calendar day/upcoming view (calendar/view.php) in the MAKE style — cream paper cards with a type pill,
   ink display titles, round icon buttons; same language as the feedback/1to1 cards. Moodle markup untouched. */
body#page-calendar-view .calendar-controls h2.current, body#page-calendar-view .calendar-controls .current {
  font: 800 clamp(22px, 2.2vw, 30px)/1.15 var(--make-display, sans-serif) !important; letter-spacing: -0.01em; text-align: center; text-wrap: balance; color: #1f252b;
}
body#page-calendar-view .calendar-controls .arrow_link { font-weight: 700 !important; color: #1439f5 !important; text-decoration: none !important; }
body#page-calendar-view .calendar-controls .arrow_link:hover { text-decoration: underline !important; }
body#page-calendar-view .eventlist { display: flex !important; flex-direction: column; gap: 14px; }
body#page-calendar-view .eventlist .event { margin: 0 !important; }
body#page-calendar-view .eventlist .event .card {
  background: #fffaf2 !important; border: 1px solid rgba(31,37,43,.1) !important; border-radius: 18px !important;
  box-shadow: 0 1px 0 rgba(31,37,43,.04), 0 8px 24px -16px rgba(31,37,43,.25) !important; overflow: hidden;
  transition: transform .15s, box-shadow .15s;
}
body#page-calendar-view .eventlist .event .card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(31,37,43,.35) !important; }
body#page-calendar-view .eventlist .event .card-header {
  background: transparent !important; border: 0 !important; padding: 20px 22px 6px !important;
  display: flex !important; align-items: flex-start; gap: 12px; position: relative;
}
body#page-calendar-view .eventlist .event .card-header::before {
  content: 'Event'; flex: 0 0 auto; order: -1; align-self: center; height: 24px; padding: 0 11px; border-radius: 999px;
  display: inline-flex; align-items: center; background: #1439f5; color: #fff; font: 800 11px/1 var(--make-sans, sans-serif); letter-spacing: .08em; text-transform: uppercase;
}
body#page-calendar-view .eventlist .event[data-event-eventtype="user"] .card-header::before { content: 'Personal'; background: #1439f5; }
body#page-calendar-view .eventlist .event[data-event-eventtype="course"] .card-header::before { content: 'Course'; background: #f49f16; color: #1f252b; }
body#page-calendar-view .eventlist .event[data-event-eventtype="site"] .card-header::before { content: 'Site'; background: #1f252b; }
body#page-calendar-view .eventlist .event[data-event-eventtype="group"] .card-header::before { content: 'Group'; background: #43e7f9; color: #1f252b; }
body#page-calendar-view .eventlist .event[data-event-eventtype="category"] .card-header::before { content: 'Category'; background: #ff27e1; }
body#page-calendar-view .eventlist .event .card-header > .d-inline-block:first-child:not(:has([data-action])) { display: none !important; }
body#page-calendar-view .eventlist .event .card-header h3, body#page-calendar-view .eventlist .event .card-header .name {
  order: 1; flex: 1 1 auto; min-width: 0; text-align: left !important; margin: 0 !important; font: 800 clamp(19px, 1.6vw, 23px)/1.2 var(--make-display, sans-serif) !important; color: #1f252b; text-wrap: pretty;
}
body#page-calendar-view .eventlist .event .card-header > :has([data-action="edit"]), body#page-calendar-view .eventlist .event .card-header > :has([data-action="delete"]) {
  order: 2; float: none !important; margin-left: auto !important; align-self: center; display: flex !important; gap: 6px; flex: 0 0 auto;
}
body#page-calendar-view .eventlist .event .card-header [data-action="delete"], body#page-calendar-view .eventlist .event .card-header [data-action="edit"] {
  width: 34px; height: 34px; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center;
  border: 1.5px solid rgba(31,37,43,.15); background: #fff; color: #1f252b !important; transition: border-color .15s, color .15s;
}
body#page-calendar-view .eventlist .event .card-header [data-action="edit"]:hover { border-color: #1439f5; color: #1439f5 !important; }
body#page-calendar-view .eventlist .event .card-header [data-action="delete"]:hover { border-color: #d0342c; color: #d0342c !important; }
body#page-calendar-view .eventlist .event .card-header [data-action] .icon { margin: 0 !important; font-size: 14px; color: inherit !important; }
body#page-calendar-view .eventlist .event .card-body { padding: 8px 22px 20px !important; background: transparent !important; }
body#page-calendar-view .eventlist .event .card-body .row { margin: 0 !important; padding: 6px 0; align-items: center; flex-wrap: nowrap; gap: 12px; }
body#page-calendar-view .eventlist .event .card-body .row + .row { border-top: 1px solid rgba(31,37,43,.08); }
body#page-calendar-view .eventlist .event .card-body .row > [class*="col-1"]:first-child { flex: 0 0 22px !important; max-width: 22px !important; width: 22px; padding: 0 !important; color: rgba(31,37,43,.45); }
body#page-calendar-view .eventlist .event .card-body .row > [class*="col-11"], body#page-calendar-view .eventlist .event .card-body .row > :last-child:not(:first-child) {
  flex: 1 1 auto !important; max-width: none !important; padding: 0 !important; font-size: 15px; color: #1f252b;
}
body#page-calendar-view .eventlist .event .card-body .row:first-child > :last-child { font-weight: 700; }
body#page-calendar-view .eventlist .event .card-body .row:first-child > :last-child a { color: #1439f5; }
body#page-calendar-view .eventlist .event .card-footer { background: transparent !important; border-top: 1px solid rgba(31,37,43,.08) !important; padding: 12px 22px !important; }
body#page-calendar-view .eventlist .event .card-footer a { font-weight: 700; color: #1439f5; }
body#page-calendar-view .bottom, body#page-calendar-view .calendarwrapper ~ .bottom { border-top: 1px solid rgba(31,37,43,.12) !important; margin-top: 22px !important; padding-top: 14px !important; }
body#page-calendar-view .bottom a { font-weight: 700; font-size: 13px; color: #1439f5; }

/* Events key block — cream card, filter rows as pills */
body#page-calendar-view .block .calendar_filters ul, body#page-calendar-view [data-region="event-filter"] ul,
body#page-calendar-view .block ul:has([data-action="filter-event-type"]) { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
body#page-calendar-view [data-action="filter-event-type"] {
  display: flex !important; align-items: center; gap: 10px; padding: 7px 12px !important; border-radius: 999px;
  border: 1px solid rgba(31,37,43,.1); background: #fffaf2; color: #1f252b !important; font-size: 13.5px !important; font-weight: 600; text-decoration: none !important;
  transition: border-color .15s, opacity .15s;
}
body#page-calendar-view [data-action="filter-event-type"]:hover { border-color: #1439f5; }
body#page-calendar-view [data-action="filter-event-type"][data-eventtype-hidden="true"], body#page-calendar-view [data-action="filter-event-type"].hidden-event { opacity: .45; }
body#page-calendar-view [data-action="filter-event-type"] .calendar_event_site, body#page-calendar-view [data-action="filter-event-type"] [class^="calendar_event_"] {
  width: 24px; height: 24px; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important; flex: 0 0 auto;
}
body#page-calendar-view [data-action="filter-event-type"] .icon { margin: 0 !important; font-size: 12px; }

@media (max-width: 767px) {
  body#page-calendar-view .eventlist .event .card-header { flex-wrap: wrap; }
  body#page-calendar-view .eventlist .event .card-header h3, body#page-calendar-view .eventlist .event .card-header .name { flex-basis: 100%; order: 2; }
}

/* v0.30.0 1to1 year strip — all 12 months; June + December are the feedback months */
.make-oto-steps--year { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; gap: 8px; }
.make-oto-steps--year .make-oto-step { padding: 10px 10px 12px; gap: 3px; min-height: 104px; }
.make-oto-steps--year .make-oto-step__n { width: 24px; height: 24px; font-size: 12px; }
.make-oto-steps--year .make-oto-step__n:empty { visibility: hidden; }
.make-oto-steps--year .make-oto-step__label { font-size: 14px; }
.make-oto-step__kind { font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: rgba(31,37,43,.7); }
.make-oto-steps--year .make-oto-step__sub { font-size: 11.5px; line-height: 1.3; }
.make-oto-step--off { background: transparent; border-style: dashed; opacity: .45; }
.make-oto-step--missed { background: transparent; border-style: dashed; }
.make-oto-step--missed .make-oto-step__n { background: transparent; border: 1.5px dashed rgba(31,37,43,.35); }
.make-oto-step--fb, .make-oto-step--fbnext, .make-oto-step--fbdone { background: #ff27e1; border-color: #ff27e1; color: #fff; }
.make-oto-step--fb .make-oto-step__kind, .make-oto-step--fbnext .make-oto-step__kind, .make-oto-step--fbdone .make-oto-step__kind,
.make-oto-step--fb .make-oto-step__sub, .make-oto-step--fbnext .make-oto-step__sub, .make-oto-step--fbdone .make-oto-step__sub { color: #fff; }
.make-oto-step--fb .make-oto-step__n, .make-oto-step--fbnext .make-oto-step__n, .make-oto-step--fbdone .make-oto-step__n { background: #fff; color: #ff27e1; }
.make-oto-step--fb { opacity: .55; }
.make-oto-step--now { box-shadow: 0 0 0 3px rgba(20,57,245,.18); }
@media (max-width: 1200px) { .make-oto-steps--year { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; } }
@media (max-width: 700px) { .make-oto-steps--year { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (max-width: 420px) { .make-oto-steps--year { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.make-oto-missed { display: flex; flex-direction: column; gap: 6px; padding: 28px 24px; border: 1.5px dashed rgba(31,37,43,.25); border-radius: 18px; text-align: center; color: rgba(31,37,43,.7); }
.make-oto-missed strong { font: 800 18px/1.2 var(--make-display); color: var(--make-ink); }

/* v0.30.0 dashboard cards — date pill (booked date, or the deadline) */
.make-oto-nudge__date { display: inline-flex; align-items: center; gap: 6px; width: fit-content; margin: 4px 0 2px; padding: 4px 11px; border-radius: 999px;
  background: #fff; color: #1f252b; font: 800 12.5px/1.2 var(--make-sans, sans-serif); letter-spacing: .01em; }
.make-oto-nudge__date::before { content: ''; width: 12px; height: 12px; flex: 0 0 auto; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center / contain no-repeat; }
.make-fb-histtable td { vertical-align: top; }
.make-fb-histtable .make-fbm-chip { margin: 0 4px 4px 0; }

.make-fbmc__now { display: block; margin-top: 4px; font-size: 12.5px; font-weight: 500; color: rgba(31,37,43,.6); }

/* v0.30.7 Borrador card in the Evaluación reference column: the refitem:last-child rule zeroed its bottom padding
   (it's always the last item), so the text sat on the bottom edge. Even padding all round, label → text gap. */
.make-fbmt__refitem.make-fbmt__refitem--draft { padding: 14px 16px 16px !important; gap: 8px; border-radius: 14px; margin-top: 2px; }
.make-fbmt__refitem--draft .make-fbmt__lbl { margin: 0; }
.make-fbmt__refitem--draft .make-fbmt__refa { margin: 0; }

/* v0.31.0 Objetivos del mes: always-open field under the Evaluación acuerdo (no toggle) */
.make-oto-change[open] > summary { pointer-events: none; list-style: none; }
.make-oto-change[open] > summary::-webkit-details-marker { display: none; }
.make-oto-change[open] > summary::marker { content: ''; }

/* v0.31.5 Evaluación sub-card on a completed (blue) person card: white-on-blue instead of ink-on-blue */
.make-fb-usercard--complete .make-fbmc { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.28) !important; color: #fff !important; }
.make-fb-usercard--complete .make-fbmc__eyebrow { color: #fff !important; opacity: .85 !important; }
.make-fb-usercard--complete .make-fbmc__title { color: #fff !important; }
.make-fb-usercard--complete .make-fbmc__btn--ghost { background: #fff !important; border-color: #fff !important; color: var(--make-blue) !important; }
.make-fb-usercard--complete .make-fbmc__btn--ghost:hover { background: var(--make-cream) !important; border-color: var(--make-cream) !important; color: var(--make-blue) !important; }

/* v0.32.0 — right block drawer removed site-wide (it fought layout everywhere). Course index keeps its own drawer. */
#page.drawers.show-drawer-right, #page.show-drawer-right { margin-right: 0 !important; }
#theme_boost-drawers-blocks, .drawer.drawer-right, .drawer-right-toggle, .drawer-toggles .drawer-right-toggle,
[data-toggler="drawers"][data-target="theme_boost-drawers-blocks"], .drawertoggle[data-target="theme_boost-drawers-blocks"] { display: none !important; }

/* v0.32.0 — dashboard calendar card (hero.js placeDashboardCalendar). Wide screens: a 300px gutter on the right of the
   dashboard column, under the hero; every section except the hero leaves it free; the card is sticky inside it. */
.make-dashcal { display: none; }
.make-dashcal--placed { display: block; }
.make-dash-hasside { --make-dashside: 324px; position: relative !important; }
@media (min-width: 992px) {
  .make-dash-hasside > *:not(.make-hero-strip):not(.make-dashcal) { max-width: calc(100% - var(--make-dashside)) !important; box-sizing: border-box !important; }
  .make-dash-hasside > .make-dashcal { position: absolute; right: 0; bottom: 0; width: 300px; }
  .make-dashcal__card { position: sticky; top: 84px; }
}
@media (max-width: 991.98px) {
  .make-dash-hasside > .make-dashcal { position: static; width: 100%; max-width: 420px; margin: 8px 0 28px; top: auto !important; }
}
.make-dashcal__card { background: var(--make-paper); border: 1px solid rgba(31,37,43,.12); border-radius: 22px; padding: 18px 18px 16px; font-family: var(--make-sans); color: var(--make-ink); }
.make-dashcal__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.make-dashcal__title { margin: 0 !important; font: 800 19px/1.1 var(--make-display) !important; letter-spacing: -.01em; color: var(--make-ink); }
.make-dashcal__title span { color: var(--make-blue); }
.make-dashcal__nav { position: relative; width: 30px; height: 30px; padding: 0; border: 1.5px solid rgba(31,37,43,.18); border-radius: 50%; background: transparent; cursor: pointer; transition: border-color .15s, background-color .15s; }
.make-dashcal__nav::before { content: ""; position: absolute; top: 50%; left: 50%; width: 7px; height: 7px; border: solid var(--make-ink); border-width: 2px 0 0 2px; transform: translate(-30%, -50%) rotate(-45deg); }
.make-dashcal__nav--next::before { transform: translate(-70%, -50%) rotate(135deg); }
.make-dashcal__nav:hover { border-color: var(--make-blue); background: rgba(20,57,245,.06); }
.make-dashcal__nav:hover::before { border-color: var(--make-blue); }
.make-dashcal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.make-dashcal__dow { text-align: center; font: 700 11px/1 var(--make-display); letter-spacing: .04em; color: rgba(31,37,43,.55); padding: 6px 0 8px; }
.make-dashcal__day { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 50%; color: var(--make-ink) !important; text-decoration: none !important; font: 600 13px/1 var(--make-display); transition: background-color .12s; }
.make-dashcal__day span { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; box-sizing: border-box; }
.make-dashcal__day:hover { background: rgba(31,37,43,.06); }
.make-dashcal__day.has-events span { border: 2px solid var(--dot, var(--make-ink)); font-weight: 800; }
.make-dashcal__day.is-today span { background: var(--make-blue); border-color: var(--make-blue); color: #fff; font-weight: 800; }
.make-dashcal__upcoming { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(31,37,43,.12); }
.make-dashcal__label { margin: 0 0 8px !important; font: 800 11px/1 var(--make-display); letter-spacing: .12em; text-transform: uppercase; color: rgba(31,37,43,.62); }
.make-dashcal__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.make-dashcal__list a { display: grid; grid-template-columns: 10px minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 7px 8px; margin: 0 -8px; border-radius: 10px; color: var(--make-ink) !important; text-decoration: none !important; }
.make-dashcal__list a:hover { background: rgba(31,37,43,.05); }
.make-dashcal__list i { width: 10px; height: 10px; border-radius: 50%; grid-row: span 2; }
.make-dashcal__when { font-size: 12px; font-weight: 700; color: rgba(31,37,43,.62); }
.make-dashcal__what { font-size: 13.5px; font-weight: 700; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.make-dashcal__empty { font-size: 13.5px; color: rgba(31,37,43,.62); padding: 4px 0; }
.make-dashcal__more { display: inline-flex; align-items: center; height: 34px; margin-top: 12px; padding: 0 16px; border-radius: 999px; background: var(--make-ink); color: #fff !important; font: 700 13px/1 var(--make-sans); text-decoration: none !important; transition: background-color .15s; }
.make-dashcal__more:hover { background: var(--make-blue); }
.make-dashcal-pop { position: fixed; z-index: 2147482000; display: none; width: 240px; padding: 12px 14px; border-radius: 14px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.12); box-shadow: 0 14px 30px -14px rgba(31,37,43,.35); font-family: var(--make-sans); color: var(--make-ink); pointer-events: none; }
.make-dashcal-pop.is-open { display: block; }
.make-dashcal-pop__date { margin: 0 0 8px !important; font: 800 14px/1.1 var(--make-display); }
.make-dashcal-pop ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.make-dashcal-pop li { display: grid; grid-template-columns: 8px auto minmax(0, 1fr); align-items: baseline; gap: 8px; font-size: 13px; line-height: 1.3; }
.make-dashcal-pop li i { width: 8px; height: 8px; border-radius: 50%; align-self: center; }
.make-dashcal-pop li b { font-weight: 800; }

/* v0.32.1 — calendar card outside the dashboard column (right of the hero) when there's room; the column keeps full width. */
@media (min-width: 992px) {
  .make-dash-hasside.make-dash-outside > *:not(.make-hero-strip):not(.make-dashcal) { max-width: none !important; }
  .make-dash-hasside.make-dash-outside > .make-dashcal { right: auto; left: calc(100% + 28px); }
}

/* v0.32.2 1to1s: pills sit on the left now that the Back button is gone */
.make-oto .make-fbm-banner .make-fbm-actions--split .make-fbm-pills { margin-left: 0; }

/* v0.33.1 1to1s: "Start 1to1s" button + "Finish the Evaluación first" pop-up */
.make-oto .make-fbm-banner .make-fbm-actions--split { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.make-oto .make-fbm-banner .make-fbm-actions--split .make-fbm-pills { margin-left: 0; }
#make-oto-startbtn { border: 0; cursor: pointer; font: inherit; }
.make-oto-alert[hidden] { display: none !important; }
.make-oto-alert { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(31,37,43,.45); }
.make-oto-alert__card { width: 100%; max-width: 460px; background: var(--make-paper); color: var(--make-ink); border-radius: 22px; padding: 26px 26px 24px; box-shadow: 0 24px 60px -20px rgba(31,37,43,.5); font-family: var(--make-sans); animation: make-oto-alert-in .18s ease-out; }
.make-oto-alert__title { margin: 6px 0 10px !important; font: 800 26px/1.05 var(--make-display) !important; letter-spacing: -.02em; color: var(--make-ink) !important; }
.make-oto-alert__body { margin: 0 0 20px !important; font-size: 15px; line-height: 1.5; color: var(--make-ink); }
.make-oto-alert__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.make-oto-alert__actions .make-fbm-btn { cursor: pointer; font: inherit; font-weight: 700; }
.make-oto-alert__actions button.make-fbm-btn--ghost { background: transparent; border-width: 1.5px; border-style: solid; }
@keyframes make-oto-alert-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
.make-oto-flash { animation: make-oto-flash 1.2s ease-out; border-radius: 18px; }
@keyframes make-oto-flash { 0%, 40% { box-shadow: 0 0 0 4px rgba(20,57,245,.35); } 100% { box-shadow: 0 0 0 0 rgba(20,57,245,0); } }

/* v0.34.0 Records tabs (Site Customizer tab look, as links) */
.make-records__tabs { margin: 4px 0 24px !important; flex-wrap: wrap; }
a.make-records__tab { display: inline-block; text-decoration: none !important; color: rgba(31,37,43,.6) !important; }
a.make-records__tab:hover { color: var(--make-ink) !important; }
a.make-records__tab.is-active { color: var(--make-ink) !important; }

/* v0.34.4 1to1 Acuerdo + Objectives cards: white body, header band (Acuerdo = section colour, Objectives = steel) */
.make-oto .make-oto-card2wrap { display: flex; flex-direction: column; gap: 14px; }
.make-oto .make-oto-card2, .make-oto-pager--cards .make-oto-month__cell.make-oto-card2 {
  grid-column: 1 / -1 !important; display: flex !important; flex-direction: column !important; gap: 0 !important; min-height: 0 !important;
  padding: 0 !important; border: 0 !important; border-radius: 26px !important; overflow: hidden !important; background: #fff !important;
  box-shadow: 0 8px 22px -16px rgba(31,37,43,.35) !important; }
.make-oto .make-oto-card2::before, .make-oto .make-oto-card2::after { display: none !important; }
.make-oto .make-oto-card2__head { display: block; margin: 0 !important; padding: 15px 28px 14px !important;
  background: var(--axis, var(--make-blue)) !important; color: var(--axis-ink, #fff) !important;
  font: 600 13px/1.2 var(--make-sans) !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
.make-oto .make-oto-card2--obj .make-oto-card2__head { background: #b2c7d3 !important; color: var(--make-ink) !important; }
.make-oto .make-oto-card2__body { display: block; padding: 18px 28px 22px !important; font: 400 16px/1.5 var(--make-sans) !important; color: var(--make-ink) !important;
  text-wrap: pretty; overflow-wrap: anywhere; }
.make-oto .make-oto-card2__body--acuerdo { font: 700 17px/1.45 var(--make-display) !important; }
.make-oto .make-oto-card2__input { display: block; width: 100%; box-sizing: border-box; margin: 0 !important; min-height: 84px !important; background: #fff !important; }
@media (max-width: 640px) { .make-oto .make-oto-card2__head { padding: 13px 18px 12px !important; } .make-oto .make-oto-card2__body { padding: 14px 18px 18px !important; } }

/* v0.34.8 Records → Acuerdos (fb_oto_acuerdos.php): same width and card sizing as Records → Objetivos (fb_acuerdos.php) */
body#page-theme-make-fb_oto_acuerdos #topofscroll, body#page-theme-make-fb_oto_acuerdos .main-inner,
body#page-theme-make-fb_oto_acuerdos #page-header, body#page-theme-make-fb_oto_acuerdos #page-content,
body#page-theme-make-fb_oto_acuerdos #region-main { max-width: 1200px !important; }
body#page-theme-make-fb_oto_acuerdos .make-fbm--page { max-width: 1200px; }
body#page-theme-make-fb_oto_acuerdos .make-fbm-banner { max-width: none; }
body#page-theme-make-fb_oto_acuerdos .make-fbm .make-fbah__dates { padding: 0 0 16px 34px !important; }
body#page-theme-make-fb_oto_acuerdos .make-fbah__grid { grid-auto-columns: minmax(170px, 1fr); }
body#page-theme-make-fb_oto_acuerdos .make-fbah__card { min-height: 240px; padding: 20px 16px 18px; }

/* v0.34.9 Autoevaluación: the objetivo in force (last Evaluación) above the Borrador de objetivo, as a reference */
.make-fbf-prevobj { margin: 0 0 10px; border-radius: 16px; background: #fff; overflow: hidden; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); }
.make-fbf-prevobj__head { padding: 9px 14px; background: var(--axis); color: var(--axis-ink, #fff); font: 800 11px/1 var(--make-display); letter-spacing: .12em; text-transform: uppercase; }
.make-fbf-prevobj__body { padding: 12px 14px 6px; font-weight: 700; font-size: 14px; line-height: 1.45; color: var(--make-ink); overflow-wrap: anywhere; }
.make-fbf-prevobj__meta { padding: 0 14px 12px; font-size: 12px; color: rgba(31,37,43,.62); }
/* v0.40.13 latest 1to1 acuerdo under the objetivo */
.make-fbf-prevobj__acu { display: flex; flex-direction: column; gap: 4px; margin: 0 14px; padding: 10px 0 12px; border-top: 1px dashed rgba(31,37,43,.18); }
.make-fbf-prevobj__head + .make-fbf-prevobj__acu { border-top: 0; }
.make-fbf-prevobj__acuhead { font: 800 10.5px/1.2 var(--make-display); letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.62); }
.make-fbf-prevobj__acutext { font-size: 13.5px; line-height: 1.45; color: var(--make-ink); overflow-wrap: anywhere; }

/* v0.34.11 My feedback: pending-draft cards on top (same card as the dashboard's) */
.make-fbm-pending { display: flex; flex-direction: column; gap: 10px; margin: 0 0 22px; }
.make-fbm-pending .make-oto-nudge { margin: 0 !important; }

/* v0.34.12 Draft cards ("you have a … pending", a saved draft): paper card with a dashed border in the form's colour,
   pencil icon and a DRAFT tag — set apart from the solid "to do" cards and the soft "your own" cards. */
.make-oto-nudge--draft { --draft: var(--make-blue); background: var(--make-paper, #fffaf2) !important; color: var(--make-ink) !important; border: 2px dashed var(--draft); box-shadow: none !important; }
.make-oto-nudge--draft-pink { --draft: #ff27e1; }
.make-oto-nudge--draft .make-oto-nudge__icon { background: var(--draft) !important; color: #fff !important; }
.make-oto-nudge--draft .make-oto-nudge__title, .make-oto-nudge--draft .make-oto-nudge__body, .make-oto-nudge--draft .make-oto-nudge__names { color: var(--make-ink) !important; }
.make-oto-nudge--draft .make-oto-nudge__eyebrow { color: rgba(31,37,43,.62) !important; }
.make-oto-nudge--draft .make-oto-nudge__title::before { content: "Draft"; display: inline-block; margin: 0 8px 0 0; padding: 4px 8px; border-radius: 999px; background: var(--draft); color: #fff; font: 800 10.5px/1 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; vertical-align: 3px; }
.make-oto-nudge--draft .make-oto-nudge__date { background: rgba(31,37,43,.08) !important; color: var(--make-ink) !important; }
.make-oto-nudge--draft .make-oto-nudge__btn { background: var(--draft) !important; color: #fff !important; }
.make-oto-nudge--draft-pink .make-oto-nudge__btn { color: #1f252b !important; }

/* v0.34.14 Records: the Latest row's tint is the whole card (was a 999px pill inside a 14px card → mismatched corners,
   most visible on the left and when the row has two buttons); "Open 1to1" is a link styled like the buttons — centre its text. */
.make-fbah__entry--latest { background: color-mix(in srgb, var(--make-blue) 6%, var(--make-paper)) !important; }
.make-fbah__entry--latest > summary { background: transparent !important; border-radius: inherit !important; padding-left: 20px !important; padding-right: 20px !important; }
a.make-fbah__edit { display: inline-flex; align-items: center; justify-content: center; text-decoration: none !important; color: #fff !important; }

/* v0.34.15 Evaluación summary (fb_meeting::summary_html): averages per section (Autoev. blue, Feedback magenta — the radar's
   colours) + the objetivo set together. Shown on the Evaluación page once it's confirmed. */
.make-fbsum { margin: 0 0 28px; border-radius: 26px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.08), 0 18px 40px -28px rgba(31,37,43,.35); overflow: hidden; }
.make-fbsum__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 28px; padding: 26px 28px 22px; background: var(--make-ink); color: #fff; border-bottom: 4px solid var(--make-cyan); }
.make-fbsum__headtext { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.make-fbsum__eyebrow { font: 800 11px/1.2 var(--make-sans); letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.make-fbsum__title { margin: 0 !important; font: 800 28px/1.05 var(--make-display) !important; letter-spacing: -.02em; color: #fff !important; }
.make-fbsum__lead { margin: 2px 0 0 !important; font-size: 14px; line-height: 1.45; color: rgba(255,255,255,.85); text-wrap: pretty; }
.make-fbsum__totals { display: flex; gap: 10px; }
.make-fbsum__score { display: flex; flex-direction: column; gap: 6px; min-width: 132px; padding: 12px 16px 14px; border-radius: 18px; background: var(--k); color: #fff; }
.make-fbsum__score--self { --k: #1439f5; }
.make-fbsum__score--leader { --k: #ff27e1; color: #1f252b; }
.make-fbsum__scorelbl { font: 800 11px/1 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; }
.make-fbsum__scorenum { font: 800 34px/1 var(--make-display); letter-spacing: -.02em; }
.make-fbsum__scorenum small { margin-left: 2px; font-size: 14px; font-weight: 700; opacity: .8; }
.make-fbsum__rows { display: flex; flex-direction: column; }
.make-fbsum__row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 1.7fr); gap: 14px 24px; align-items: start; padding: 18px 28px; }
.make-fbsum__row + .make-fbsum__row { border-top: 1px solid rgba(31,37,43,.08); }
.make-fbsum__sec { display: flex; align-items: flex-start; gap: 10px; padding-top: 2px; }
.make-fbsum__dot { flex: 0 0 12px; width: 12px; height: 12px; margin-top: 3px; border-radius: 50%; background: var(--axis); }
.make-fbsum__sectitle { font: 800 15px/1.25 var(--make-display); color: var(--make-ink); overflow-wrap: anywhere; }
.make-fbsum__bars { display: flex; flex-direction: column; gap: 8px; }
.make-fbsum__bar { display: grid; grid-template-columns: 62px minmax(0, 1fr) 32px; align-items: center; gap: 10px; --k: #1439f5; }
.make-fbsum__bar--leader { --k: #ff27e1; }
.make-fbsum__barlbl { font: 700 12px/1 var(--make-sans); color: rgba(31,37,43,.65); }
.make-fbsum__track { height: 8px; border-radius: 999px; background: rgba(31,37,43,.08); overflow: hidden; }
.make-fbsum__fill { display: block; height: 100%; border-radius: inherit; background: var(--k); }
.make-fbsum__val { font: 800 15px/1 var(--make-display); color: var(--make-ink); text-align: right; }
.make-fbsum__obj { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 14px; background: color-mix(in srgb, var(--axis) 10%, var(--make-paper, #fffaf2)); }
.make-fbsum__objlbl { font: 800 10.5px/1 var(--make-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--make-ink); opacity: .7; }
.make-fbsum__objtxt { font-weight: 700; font-size: 14px; line-height: 1.45; color: var(--make-ink); overflow-wrap: anywhere; }
.make-fbsum__objtxt--empty { font-weight: 600; color: rgba(31,37,43,.5); }
@media (max-width: 900px) {
  .make-fbsum__row { grid-template-columns: minmax(0, 1fr); padding: 16px 20px; }
  .make-fbsum__head { padding: 22px 20px 18px; }
  .make-fbsum__totals { width: 100%; } .make-fbsum__score { flex: 1 1 0; min-width: 0; }
}

/* v0.34.17 Evaluación summary: collapsible. Folded = a slim ink bar (eyebrow, title, both totals small, chevron). */
.make-fbsum > summary { list-style: none; cursor: pointer; }
.make-fbsum > summary::-webkit-details-marker { display: none; }
.make-fbsum__totals { align-items: center; }
.make-fbsum__chev { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; margin-left: 4px; border-radius: 50%; background: #fff; color: var(--make-ink); transition: transform .2s var(--make-ease, ease); }
.make-fbsum[open] .make-fbsum__chev { transform: rotate(180deg); }
.make-fbsum:not([open]) .make-fbsum__head { align-items: center; padding: 14px 20px 14px 24px; border-bottom-width: 0; }
.make-fbsum:not([open]) .make-fbsum__lead { display: none; }
.make-fbsum:not([open]) .make-fbsum__headtext { gap: 4px; }
.make-fbsum:not([open]) .make-fbsum__title { font-size: 19px !important; }
.make-fbsum:not([open]) .make-fbsum__score { flex-direction: row; align-items: baseline; gap: 8px; min-width: 0; padding: 8px 12px; border-radius: 999px; }
.make-fbsum:not([open]) .make-fbsum__scorenum { font-size: 18px; }
.make-fbsum:not([open]) .make-fbsum__scorenum small { font-size: 11px; }
.make-fbsum[open] > .make-fbsum__rows { animation: make-pop-in var(--make-dur, .2s) var(--make-ease, ease) both; transform-origin: top center; }
@media (max-width: 900px) { .make-fbsum:not([open]) .make-fbsum__totals { width: auto; } .make-fbsum:not([open]) .make-fbsum__score { flex: 0 0 auto; } }

/* v0.34.18 Evaluación summary: the chevron reacts on hover so the ink bar reads as clickable */
.make-fbsum > summary { transition: background-color .18s ease; }
.make-fbsum > summary:hover { background-color: #2b333b; }
.make-fbsum__chev { box-shadow: 0 0 0 0 rgba(67,231,249,.0); transition: transform .22s cubic-bezier(.22,1,.36,1), background-color .18s ease, color .18s ease, box-shadow .18s ease; }
.make-fbsum > summary:hover .make-fbsum__chev { background: var(--make-cyan, #43e7f9); color: var(--make-ink); box-shadow: 0 0 0 5px rgba(67,231,249,.25); transform: translateY(2px); }
.make-fbsum[open] > summary:hover .make-fbsum__chev { transform: rotate(180deg) translateY(2px); }
.make-fbsum > summary:focus-visible { outline: 3px solid var(--make-cyan, #43e7f9); outline-offset: -3px; }

/* v0.42.1 Evaluación summary bar on phones: title on its own row, score pills + chevron share one full-width row below (no overflow) */
@media (max-width: 640px) {
  .make-fbsum__head { flex-direction: column; align-items: stretch !important; gap: 12px; }
  .make-fbsum__headtext { flex: 0 0 auto; }
  .make-fbsum__eyebrow { letter-spacing: .08em; line-height: 1.4; overflow-wrap: anywhere; }
  .make-fbsum:not([open]) .make-fbsum__head { padding: 16px 16px 16px 18px; }
  .make-fbsum__totals, .make-fbsum:not([open]) .make-fbsum__totals { width: 100%; min-width: 0; gap: 8px; }
  .make-fbsum__score, .make-fbsum:not([open]) .make-fbsum__score { flex: 1 1 0; min-width: 0; }
  .make-fbsum:not([open]) .make-fbsum__score { justify-content: center; padding: 8px 10px; }
  .make-fbsum__scorelbl { letter-spacing: .04em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
  .make-fbsum:not([open]) .make-fbsum__scorenum { white-space: nowrap; }
  .make-fbsum__chev { margin-left: 0; }
  .make-fbsum[open] .make-fbsum__title { font-size: 23px !important; }
  .make-fbsum[open] .make-fbsum__scorenum { font-size: 28px; }
}

/* v0.34.21 Members pickers: the open panel is fixed to the viewport (placed by fb_members.php JS) so the table's
   scroll wrapper / a short filtered table can't clip it. */
.make-fb-teampick__panel.make-fb-teampick__panel--fixed { position: fixed !important; right: auto !important; bottom: auto !important; z-index: 2000 !important; overflow-y: auto; }

/* v0.35.0 1to1 timeline: Evaluación → one card per 1to1 (checklist: Prepared · Booked · Done together) → + extra → next process */
.make-oto-tl { position: relative; display: flex; gap: 14px; overflow-x: auto; padding: 6px 2px 14px; scroll-snap-type: x proximity; }
.make-oto-tl::before { content: ""; position: absolute; left: 24px; right: 24px; top: 36px; height: 2px; background: repeating-linear-gradient(90deg, rgba(31,37,43,.18) 0 6px, transparent 6px 12px); z-index: 0; }
.make-oto-tl__lead { margin: -4px 0 10px !important; }
.make-oto-tl__card { position: relative; z-index: 1; flex: 0 0 210px; display: flex; flex-direction: column; gap: 10px; padding: 14px 14px 16px; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); scroll-snap-align: start; }
.make-oto-tl__card--edge { flex-basis: 170px; background: var(--make-paper, #fffaf2); }
.make-oto-tl__head { display: flex; align-items: center; gap: 10px; }
.make-oto-tl__badge { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(31,37,43,.08); color: var(--make-ink); font: 800 14px/1 var(--make-display); }
.make-oto-tl__titlerow { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.make-oto-tl__title { font: 800 15px/1.2 var(--make-display); color: var(--make-ink); }
.make-oto-tl__sub { font-size: 12.5px; line-height: 1.35; color: rgba(31,37,43,.65); }
.make-oto-tl__extra { padding: 3px 8px; border-radius: 999px; background: var(--make-orange, #f49f16); color: var(--make-ink); font: 800 10px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; }
.make-oto-tl__pill { flex: 0 0 auto; padding: 4px 9px; border-radius: 999px; background: rgba(31,37,43,.07); color: rgba(31,37,43,.7); font: 800 10.5px/1 var(--make-sans); letter-spacing: .06em; text-transform: uppercase; }
.make-oto-tl__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.make-oto-tl__check { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 13px; color: rgba(31,37,43,.55); }
.make-oto-tl__box { width: 18px; height: 18px; border-radius: 6px; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.28); display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.make-oto-tl__check.is-done { color: var(--make-ink); font-weight: 700; }
.make-oto-tl__check.is-done .make-oto-tl__box { background: var(--make-blue); box-shadow: none; }
.make-oto-tl__val { font-size: 12px; font-weight: 600; color: rgba(31,37,43,.6); white-space: nowrap; }
/* states */
.make-oto-tl__card--done .make-oto-tl__badge { background: var(--make-blue); color: #fff; }
.make-oto-tl__card--done .make-oto-tl__pill { background: rgba(20,57,245,.1); color: var(--make-blue); }
.make-oto-tl__card--current { box-shadow: inset 0 0 0 2px var(--make-cyan, #43e7f9), 0 14px 30px -20px rgba(31,37,43,.45); }
.make-oto-tl__card--current .make-oto-tl__badge { background: var(--make-cyan, #43e7f9); color: var(--make-ink); }
.make-oto-tl__card--current .make-oto-tl__pill { background: var(--make-ink); color: #fff; }
.make-oto-tl__card--extra { box-shadow: inset 0 0 0 1.5px var(--make-orange, #f49f16); }
.make-oto-tl__card--extra.make-oto-tl__card--current { box-shadow: inset 0 0 0 2px var(--make-orange, #f49f16), 0 14px 30px -20px rgba(31,37,43,.45); }
.make-oto-tl__card--next .make-oto-tl__badge { background: var(--make-magenta, #ff27e1); color: #fff; font-size: 13px; }
.make-oto-tl__rm { align-self: flex-start; margin-top: 2px; padding: 4px 10px; border: 0; border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.2); color: rgba(31,37,43,.7); font: 700 11.5px/1 var(--make-sans); cursor: pointer; }
.make-oto-tl__rm:hover { box-shadow: inset 0 0 0 1.5px #d6333d; color: #d6333d; }
.make-oto-tl__card form { margin: 0; }
/* add extra */
.make-oto-tl__card--add { padding: 0; background: transparent; box-shadow: none; }
.make-oto-tl__addbtn { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 100%; padding: 16px; border: 2px dashed rgba(31,37,43,.25); border-radius: 20px; background: rgba(255,250,242,.6); color: var(--make-ink); font: 800 14px/1.2 var(--make-display); text-align: center; cursor: pointer; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.make-oto-tl__addbtn:hover { border-color: var(--make-orange, #f49f16); background: #fff; transform: translateY(-2px); }
.make-oto-tl__plus { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--make-orange, #f49f16); color: var(--make-ink); font: 800 18px/1 var(--make-display); }
.make-oto-tl__addsub { font: 600 12px/1.35 var(--make-sans); color: rgba(31,37,43,.6); }
@media (max-width: 640px) { .make-oto-tl__card { flex-basis: 78%; } .make-oto-tl__card--edge { flex-basis: 60%; } }

/* v0.35.1 1to1s: Directors' lists grouped by team */
.make-oto-teamhead { display: flex; align-items: center; gap: 10px; margin: 18px 0 4px; padding: 0 4px; font: 800 12px/1 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--make-ink); }
.make-oto-teamhead:first-of-type { margin-top: 6px; }
.make-oto-teamhead__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--team); }

/* v0.35.2 Dashboard reminders: only the first card shows; a round "+" with the count of the others reveals them */
.make-oto-nudge.make-oto-nudge--folded { display: none !important; }
.make-oto-nudge--reveal { animation: make-pop-in var(--make-dur, .22s) var(--make-ease, ease) both; transform-origin: top center; }
.make-nudge-more { display: flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; margin: 10px auto 4px; padding: 6px 16px 6px 6px; border: 0; border-radius: 999px; background: transparent; color: var(--make-ink); font: 700 13px/1 var(--make-sans); cursor: pointer; position: relative; }
.make-nudge-more__plus { position: relative; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--make-ink); color: #fff; transition: transform .22s cubic-bezier(.22,1,.36,1), background-color .18s ease; }
.make-nudge-more__count { position: absolute; left: 30px; top: 0; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--make-magenta, #ff27e1); color: #fff; font: 800 11px/20px var(--make-sans); text-align: center; box-shadow: 0 0 0 2px var(--make-cream, #faf1e6); }
.make-nudge-more__label { color: rgba(31,37,43,.7); }
.make-nudge-more:hover .make-nudge-more__plus { background: var(--make-blue); transform: scale(1.06); }
.make-nudge-more:hover .make-nudge-more__label { color: var(--make-ink); }
.make-nudge-more.is-open .make-nudge-more__plus { transform: rotate(45deg); }
.make-nudge-more.is-open:hover .make-nudge-more__plus { transform: rotate(45deg) scale(1.06); }
.make-nudge-more.is-open .make-nudge-more__count { display: none; }
.make-nudge-more:focus-visible { outline: 3px solid var(--make-cyan, #43e7f9); outline-offset: 2px; }

/* v0.35.3 "+ more notifications": just the two circles (+ and count), centred — no text label */
.make-nudge-more { padding: 0 !important; gap: 0 !important; }
.make-nudge-more__label { display: none !important; }
.make-nudge-more__count { left: 26px !important; top: -5px !important; }

/* v0.35.4 MAKE profile (theme/make/profile.php) */
body#page-theme-make-profile .make-fbm--page { max-width: 1120px; }
.make-prof { display: flex; flex-direction: column; gap: 20px; }
.make-prof__banner { display: flex; align-items: center; gap: 28px; }
.make-prof__photowrap { position: relative; z-index: 1; flex: 0 0 132px; width: 132px; height: 132px; border-radius: 50%; padding: 5px; background: #fff; box-shadow: 0 14px 30px -18px rgba(31,37,43,.5); }
.make-prof__photo { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.make-prof__bannertext { position: relative; z-index: 1; min-width: 0; flex: 1 1 auto; }
.make-prof__email { margin: 4px 0 0 !important; font-size: 14px; color: rgba(31,37,43,.7); }
.make-prof__pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.make-prof__pill { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: 999px; font: 700 12.5px/1 var(--make-sans); }
.make-prof__pill--role { background: var(--make-blue); color: #fff; }
.make-prof__pill--subrole { background: var(--make-cyan, #43e7f9); color: var(--make-ink); }
.make-prof__pill--position { background: rgba(31,37,43,.08); color: var(--make-ink); }
.make-prof__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 20px; align-items: start; }
.make-prof__col { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.make-prof__card { padding: 20px 22px 22px; border-radius: 24px; background: var(--make-paper, #fffaf2); box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.08); display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.make-prof__title { display: flex; align-items: center; gap: 8px; font: 800 12px/1.2 var(--make-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--make-ink); }
.make-prof__sample { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 999px; background: rgba(244,159,22,.18); color: #8a5a00; font: 800 10px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; vertical-align: middle; }
.make-prof__sample--sm { height: 17px; padding: 0 6px; font-size: 9px; }
.make-prof__role { font: 800 22px/1.15 var(--make-display); letter-spacing: -.01em; color: var(--make-ink); }
.make-prof__role span { font-weight: 600; color: rgba(31,37,43,.6); }
.make-prof__facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; margin: 0; font-size: 14px; }
.make-prof__facts dt { font-weight: 700; color: rgba(31,37,43,.55); }
.make-prof__facts dd { margin: 0; color: var(--make-ink); font-weight: 600; }
.make-prof__since { display: flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(31,37,43,.65); }
.make-prof__strength { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; font-weight: 600; }
.make-prof__dots { display: inline-flex; gap: 5px; }
.make-prof__dots i { width: 10px; height: 10px; border-radius: 50%; background: rgba(31,37,43,.12); }
.make-prof__dots i.is-on { background: var(--make-blue); }
.make-prof__date { display: flex; gap: 12px; align-items: flex-start; }
.make-prof__dicon { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--c); color: #fff; font: 800 12px/1 var(--make-display); }
.make-prof__dlabel { display: flex; align-items: center; gap: 6px; font: 700 11.5px/1.2 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-prof__dval { margin-top: 3px; font: 800 17px/1.2 var(--make-display); color: var(--make-ink); }
.make-prof__dsub { font-size: 13px; color: rgba(31,37,43,.65); }
.make-prof__project { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 16px; border-radius: 14px; background: #fff; overflow: hidden; }
.make-prof__pbar { position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--c); }
.make-prof__pmain { flex: 1 1 auto; min-width: 0; }
.make-prof__pname { font: 800 14px/1.25 var(--make-display); color: var(--make-ink); }
.make-prof__pmeta { font-size: 12.5px; color: rgba(31,37,43,.6); }
.make-prof__pstatus { flex: 0 0 auto; padding: 4px 10px; border-radius: 999px; background: rgba(31,37,43,.07); font: 700 11.5px/1 var(--make-sans); color: var(--make-ink); }
.make-prof__pstatus.is-done { background: rgba(20,57,245,.1); color: var(--make-blue); }
.make-prof__teamcount { display: flex; align-items: baseline; gap: 8px; }
.make-prof__teamcount strong { font: 800 32px/1 var(--make-display); color: var(--make-ink); }
.make-prof__teamcount span { font-size: 14px; color: rgba(31,37,43,.65); }
.make-prof__teampills { display: flex; flex-wrap: wrap; gap: 6px; }
.make-prof__teampill { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: 999px; background: rgba(31,37,43,.07); font: 700 12.5px/1 var(--make-sans); color: var(--make-ink); }
.make-prof__teampill--now { background: var(--make-ink); color: #fff; }
/* account options */
.make-prof__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
a.make-prof__opt { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.08); color: var(--make-ink) !important; text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease; }
a.make-prof__opt:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1.5px var(--make-blue), 0 12px 24px -18px rgba(20,57,245,.6); }
.make-prof__opticon { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: rgba(20,57,245,.1); color: var(--make-blue); }
.make-prof__opttext { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.make-prof__opttext strong { font: 800 14.5px/1.2 var(--make-display); }
.make-prof__opttext span { font-size: 12.5px; color: rgba(31,37,43,.6); line-height: 1.3; }
.make-prof__optgo { color: rgba(31,37,43,.35); display: inline-flex; }
a.make-prof__opt:hover .make-prof__optgo { color: var(--make-blue); }
.make-prof__classic { margin: -6px 0 0 !important; }
@media (max-width: 900px) {
  .make-prof__grid { grid-template-columns: minmax(0, 1fr); }
  .make-prof__banner { flex-direction: column; align-items: flex-start; gap: 16px; }
  .make-prof__photowrap { flex-basis: auto; width: 96px; height: 96px; }
}
/* v0.35.4 radar "patita": ADN MK hangs under the chart */
.make-radar__paw { display: flex; flex-direction: column; align-items: center; margin: -6px auto 10px; }
.make-radar__pawstem { width: 2px; height: 16px; background: repeating-linear-gradient(180deg, rgba(31,37,43,.3) 0 4px, transparent 4px 7px); }
.make-radar__pawpad { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px; padding: 10px 16px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(67,231,249,.9), 0 10px 22px -18px rgba(31,37,43,.5); }
.make-radar__pawname { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; background: var(--make-cyan, #43e7f9); color: var(--make-ink); font: 800 11.5px/1 var(--make-sans); letter-spacing: .06em; text-transform: uppercase; }
.make-radar__pawbar { display: inline-flex; align-items: center; gap: 6px; font: 700 12px/1 var(--make-sans); color: var(--make-ink); }
.make-radar__pawlbl { color: rgba(31,37,43,.6); }
.make-radar__pawtrack { width: 64px; height: 6px; border-radius: 999px; background: rgba(31,37,43,.1); overflow: hidden; }
.make-radar__pawtrack span { display: block; height: 100%; border-radius: inherit; background: #1439f5; }
.make-radar__pawbar--leader .make-radar__pawtrack span { background: #ff27e1; }
.make-radar__pawval { min-width: 22px; font-weight: 800; }

/* v0.35.8 Profile radar: full width and bigger — chart left, values table right */
.make-prof__card--radar { padding: 24px 28px 26px; }
.make-prof__card--radar .make-radar { background: transparent; box-shadow: none; padding: 0; }
.make-prof__card--radar .make-radar__panel { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); gap: 20px 32px; align-items: center; }
.make-prof__card--radar .make-radar__svg { max-width: 640px; width: 100%; }
.make-prof__card--radar .make-radar__label { font-size: 13.5px; }
.make-prof__card--radar .make-radar__legend { font-size: 14.5px; }
@media (max-width: 900px) { .make-prof__card--radar .make-radar__panel { grid-template-columns: minmax(0, 1fr); } .make-prof__card--radar { padding: 20px; } }

/* v0.35.10 Profile: wider page (1280px), Moodle's own page header hidden, banner as a row, radar card cleaned up */
body#page-theme-make-profile #topofscroll, body#page-theme-make-profile .main-inner, body#page-theme-make-profile #page-header, body#page-theme-make-profile #page-content, body#page-theme-make-profile #region-main { max-width: 1280px !important; }
body#page-theme-make-profile .make-fbm, body#page-theme-make-profile .make-fbm--page { max-width: 1280px !important; width: 100%; gap: 22px; }
body#page-theme-make-profile #page-header, body#page-theme-make-profile .page-context-header, body#page-theme-make-profile .page-header-headings, body#page-theme-make-profile #page-header .header-actions-container { display: none !important; }
body#page-theme-make-profile .make-fbm-banner.make-prof__banner { flex-direction: row !important; align-items: center; gap: 36px; padding: 40px 48px 42px; }
body#page-theme-make-profile .make-prof__photowrap { flex: 0 0 168px; width: 168px; height: 168px; }
body#page-theme-make-profile .make-prof__bannertext { display: flex; flex-direction: column; align-items: flex-start; }
body#page-theme-make-profile .make-prof__bannertext .make-fbm-actions { margin-top: 16px; }
body#page-theme-make-profile .make-prof__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
body#page-theme-make-profile .make-prof__col { gap: 22px; }
/* radar: no inner box, chart big on the left, values on the right */
body#page-theme-make-profile .make-prof__card--radar .make-radar { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; max-width: none !important; width: 100%; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__head:empty, body#page-theme-make-profile .make-prof__card--radar .make-radar__head:not(:has(*)) { display: none; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__legend { justify-content: flex-start; gap: 8px 22px; padding-bottom: 6px; border-bottom: 1px solid rgba(31,37,43,.08); }
body#page-theme-make-profile .make-prof__card--radar .make-radar__note { margin-left: auto; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__panel { display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 1fr); gap: 16px 40px; align-items: center; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__svg { display: block; width: 100%; max-width: 680px; height: auto; margin: 0 auto; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__table { margin: 0; font-size: 14px; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.06); }
body#page-theme-make-profile .make-prof__card--radar .make-radar__table th { padding: 12px 14px; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__table td { padding: 11px 14px; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__table td:not(:first-child), body#page-theme-make-profile .make-prof__card--radar .make-radar__table th:not(:first-child) { text-align: center; width: 64px; font-weight: 800; }
@media (max-width: 1100px) { body#page-theme-make-profile .make-prof__card--radar .make-radar__panel { grid-template-columns: minmax(0, 1fr); } body#page-theme-make-profile .make-prof__card--radar .make-radar__svg { max-width: 560px; } }
@media (max-width: 900px) { body#page-theme-make-profile .make-prof__grid { grid-template-columns: minmax(0, 1fr); } body#page-theme-make-profile .make-fbm-banner.make-prof__banner { flex-direction: column !important; align-items: flex-start; padding: 28px 24px; } body#page-theme-make-profile .make-prof__photowrap { flex-basis: auto; width: 110px; height: 110px; } }

/* v0.35.11 Profile radar: the chart stays inside the card (svg clipped to its box, labels have room in the viewBox) */
body#page-theme-make-profile .make-prof__card--radar { overflow: hidden; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__svg { overflow: hidden !important; max-width: 640px; }
body#page-theme-make-profile .make-prof__card--radar .make-radar__label { font-size: 12.5px; }

/* v0.35.12 Profile banner in the person's team colour (ink or white text picked for contrast) */
body#page-theme-make-profile .make-prof__banner--team { background: var(--prof-bg) !important; color: var(--prof-ink) !important; box-shadow: none !important; }
body#page-theme-make-profile .make-prof__banner--team .make-fbm-eyebrow, body#page-theme-make-profile .make-prof__banner--team .make-fbm-title, body#page-theme-make-profile .make-prof__banner--team .make-fbm-script,
body#page-theme-make-profile .make-prof__banner--team .make-fbm-body, body#page-theme-make-profile .make-prof__banner--team .make-prof__email { color: var(--prof-ink) !important; }
body#page-theme-make-profile .make-prof__banner--team .make-prof__email { opacity: .8; }
body#page-theme-make-profile .make-prof__banner--team .make-fbm-squiggle { color: var(--prof-ink) !important; opacity: .55; }
body#page-theme-make-profile .make-prof__banner--team .make-fbm-banner__dots { opacity: .35; }
body#page-theme-make-profile .make-prof__banner--team .make-prof__pill { background: var(--prof-ink) !important; color: var(--prof-bg) !important; }
body#page-theme-make-profile .make-prof__banner--team .make-prof__pill--position { background: transparent !important; color: var(--prof-ink) !important; box-shadow: inset 0 0 0 1.5px var(--prof-ink); }

/* v0.36.0 Project stats: admin upload page + company overview */
body#page-theme-make-ps_overview .make-fbm--page, body#page-theme-make-ps_admin .make-fbm--page { max-width: 1200px !important; width: 100%; }
body#page-theme-make-ps_overview #topofscroll, body#page-theme-make-ps_overview .main-inner, body#page-theme-make-ps_overview #page-content, body#page-theme-make-ps_overview #region-main,
body#page-theme-make-ps_admin #topofscroll, body#page-theme-make-ps_admin .main-inner, body#page-theme-make-ps_admin #page-content, body#page-theme-make-ps_admin #region-main { max-width: 1200px !important; }
.make-ps { gap: 22px; }
.make-ps__upload { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
.make-ps__upload input[type=file] { max-width: 100%; font-size: 14px; }
.make-ps__card { padding: 20px 22px; border-radius: 24px; background: var(--make-paper, #fffaf2); box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.08); display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.make-ps__title { font: 800 12px/1.2 var(--make-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--make-ink); }
.make-ps__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.make-ps__table th { padding: 10px 12px; text-align: left; font: 800 11px/1.2 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.6); border-bottom: 1px solid rgba(31,37,43,.12); }
.make-ps__table td { padding: 10px 12px; border-bottom: 1px solid rgba(31,37,43,.06); vertical-align: middle; }
.make-ps__table select { max-width: 280px; }
.make-ps__table tr.is-unmatched td { background: rgba(244,159,22,.08); }
.make-ps__muted { font-size: 12.5px; color: rgba(31,37,43,.6); }
.make-ps__flag { display: inline-flex; padding: 2px 8px; border-radius: 999px; background: #f49f16; color: var(--make-ink); font: 800 10px/1.4 var(--make-sans); letter-spacing: .06em; text-transform: uppercase; }
.make-ps__savebar { display: flex; justify-content: flex-end; position: sticky; bottom: 16px; z-index: 2; }
.make-ps__savebar .make-fbm-btn { white-space: nowrap; box-shadow: 0 12px 28px -14px rgba(31,37,43,.55); }
.make-ps__maps { display: flex; flex-direction: column; gap: 22px; }
.make-ps__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
.make-ps__tile { padding: 18px 20px; border-radius: 22px; background: var(--c); color: #fff; }
.make-ps__tile:nth-child(4) { color: var(--make-ink); }
.make-ps__tileval { font: 800 34px/1 var(--make-display); letter-spacing: -.02em; }
.make-ps__tilelbl { margin-top: 6px; font: 700 13px/1.2 var(--make-sans); opacity: .9; }
.make-ps__row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.make-ps__bars { display: flex; align-items: flex-end; gap: 18px; height: 220px; padding-top: 22px; }
.make-ps__barcol { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; height: 100%; }
.make-ps__bar { width: 100%; max-width: 90px; min-height: 4px; border-radius: 14px 14px 4px 4px; background: var(--make-blue); }
.make-ps__barval { font: 800 13px/1 var(--make-display); color: var(--make-ink); }
.make-ps__barlbl { font-size: 12px; color: rgba(31,37,43,.65); text-align: center; }
.make-ps__mix { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: rgba(31,37,43,.08); }
.make-ps__mixrow { display: flex; align-items: center; gap: 8px; font-size: 13.5px; }
.make-ps__mixn { margin-left: auto; font-weight: 800; }
.make-ps__dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 10px; }
.make-ps__scroll { overflow-x: auto; }
.make-ps__table--wide td:not(:first-child), .make-ps__table--wide th:not(:first-child) { text-align: right; white-space: nowrap; }
.make-ps__client a { color: var(--make-ink) !important; font-weight: 700; }
.make-ps__new { font-size: 11.5px; font-weight: 700; color: #b26f00; }
.make-ps__trackcell { width: 22%; }
.make-ps__track { display: block; height: 8px; border-radius: 999px; background: rgba(31,37,43,.08); overflow: hidden; }
.make-ps__track span { display: block; height: 100%; border-radius: inherit; background: var(--make-magenta, #ff27e1); }
@media (max-width: 1000px) { .make-ps__row { grid-template-columns: minmax(0, 1fr); } }
/* v0.41.0 multi-year: year pills, year-over-year bars, admin year field */
.make-ps__years { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; position: relative; z-index: 2; }
.make-ps__year { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px currentColor;
  font: 700 13.5px/1 var(--make-sans); color: inherit !important; text-decoration: none !important; transition: background-color .2s, color .2s, transform .2s; }
.make-ps__year:hover { transform: translateY(-1px); }
.make-ps__year.is-active { background: var(--make-ink); color: #fff !important; box-shadow: none; }
.make-ps__barcol--link { text-decoration: none !important; color: inherit !important; }
.make-ps__barcol--link:hover .make-ps__bar { filter: brightness(1.15); }
.make-ps__bars--yoy .make-ps__bar { background: rgba(20,57,245,.35); }
.make-ps__bars--yoy .make-ps__bar.is-current { background: var(--make-blue); }
.make-ps__yoynote { margin: -4px 0 0; font-size: 13px; }
.make-ps__yearin { width: 130px; height: 40px; padding: 0 12px; border-radius: 999px; border: 1.5px solid rgba(31,37,43,.18); background: #fff; font: 600 14px/1 var(--make-sans); }
.make-ps__rm { padding: 4px 12px; border: 0; border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.2); font: 700 12px/1.2 var(--make-sans); color: rgba(31,37,43,.7); cursor: pointer; }
.make-ps__rm:hover { box-shadow: inset 0 0 0 1.5px #d6333d; color: #d6333d; }

/* v0.36.4 Profile: Projects card capped at ~6 rows, scrolls inside. Rows never shrink (they were squashed by the flex column);
   custom scrollbar: slim ink pill on a soft cream track (Chrome/Edge/Safari via ::-webkit-scrollbar, Firefox via scrollbar-color). */
body#page-theme-make-profile .make-prof__pscroll { display: flex; flex-direction: column; gap: 10px; max-height: 452px; overflow-y: auto; overscroll-behavior: contain;
  padding: 2px 0 22px; scrollbar-width: none; -ms-overflow-style: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 30px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 30px), transparent); }
body#page-theme-make-profile .make-prof__pscroll > * { flex: 0 0 auto !important; }
body#page-theme-make-profile .make-prof__pscroll::-webkit-scrollbar { display: none; width: 0; height: 0; } /* v0.37.4: hidden — the fade is the cue */

/* v0.37.0 Profile edit mode (org managers / HR): remove × on projects and past teams, add forms, role-since date */
body#page-theme-make-profile .make-prof__edittoggle { align-self: flex-start; margin-top: 14px; display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 999px;
  background: var(--prof-ink, var(--make-ink)); color: var(--prof-bg, #fff) !important; font: 700 13px/1 var(--make-sans); text-decoration: none !important; }
body#page-theme-make-profile .make-prof__edittoggle.is-on { background: var(--make-magenta, #ff27e1); color: #fff !important; }
body#page-theme-make-profile .make-prof--editing .make-prof__card:not(.make-prof__card--radar):not(.make-prof__card--account) { box-shadow: inset 0 0 0 2px rgba(255,39,225,.35); }
body#page-theme-make-profile .make-prof__xf { display: inline-flex; margin: 0; }
body#page-theme-make-profile .make-prof__ex { width: 24px; height: 24px; flex: 0 0 24px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%;
  background: rgba(31,37,43,.08); color: var(--make-ink); font: 700 15px/1 var(--make-sans); cursor: pointer; }
body#page-theme-make-profile .make-prof__ex:hover { background: #d6333d; color: #fff; }
body#page-theme-make-profile .make-prof__project .make-prof__xf { margin-left: 8px; }
body#page-theme-make-profile .make-prof__teampill { display: inline-flex; align-items: center; gap: 6px; }
body#page-theme-make-profile .make-prof__teampill .make-prof__ex { width: 18px; height: 18px; flex-basis: 18px; font-size: 12px; margin-right: -6px; }
body#page-theme-make-profile .make-prof__eform { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 0; }
body#page-theme-make-profile .make-prof__eform--proj { flex: 0 0 auto; padding: 12px; border: 2px dashed rgba(31,37,43,.2); border-radius: 16px; }
body#page-theme-make-profile .make-prof__eform--inline { margin: 0; }
body#page-theme-make-profile .make-prof__eform input[type=text], body#page-theme-make-profile .make-prof__eform input[type=date], body#page-theme-make-profile .make-prof__eform select {
  height: 34px; padding: 0 12px; border: 1.5px solid rgba(31,37,43,.18); border-radius: 999px; background: #fff; font: 500 13px/1 var(--make-sans); color: var(--make-ink); min-width: 0; }
body#page-theme-make-profile .make-prof__eform--proj input[type=text] { flex: 1 1 140px; }
body#page-theme-make-profile .make-prof__eform label { font: 700 12px/1 var(--make-sans); color: rgba(31,37,43,.65); }
body#page-theme-make-profile .make-prof__ebtn { height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: rgba(31,37,43,.08); color: var(--make-ink); font: 700 13px/1 var(--make-sans); cursor: pointer; }
body#page-theme-make-profile .make-prof__ebtn--solid { background: var(--make-ink); color: #fff; }
body#page-theme-make-profile .make-prof__ebtn--solid:hover { background: var(--make-blue); }
body#page-theme-make-profile .make-prof__erestore { margin-top: 8px; padding: 0; border: 0; background: none; color: var(--make-blue); font: 700 12.5px/1.3 var(--make-sans); cursor: pointer; text-decoration: underline; }
body#page-theme-make-profile .make-prof__ehint { margin: 10px 0 0; font-size: 12.5px; color: rgba(31,37,43,.65); }
body#page-theme-make-profile .make-prof__ehint a { color: var(--make-blue) !important; font-weight: 700; }

/* v0.39.5: dashboard Manage courses / Create course — hidden outside edit mode straight from the stylesheet (they're
   server-rendered with .make-category-overview__actions), so they no longer flash in and out while the page loads. */
body:not(.editing) .make-category-overview__actions, body:not(.editing) .make-mycourses-actions { display: none !important; }

/* v0.40.1: process results cards (fb_cycle_results) — the Evaluación date form overflowed the narrow card (date / Set
   date / time in one row) and View results · History · Print feedback wrapped into a ragged row. Both stack now. */
.make-fb-usercard .make-fbmc { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }
.make-fb-usercard .make-fbmc .make-fbmc__form { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 8px !important; }
.make-fb-usercard .make-fbmc .make-fbmc__form > *, .make-fb-usercard .make-fbmc .make-fbmc__when, .make-fb-usercard .make-fbmc .make-fbmc__when > * {
  width: 100% !important; min-width: 0 !important; max-width: 100% !important; flex: 1 1 auto !important; box-sizing: border-box !important; }
.make-fb-usercard .make-fbmc .make-fbmc__when { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.make-fb-usercard .make-fbmc .make-fbmc__btn { justify-content: center !important; width: 100% !important; }
.make-fb-cr-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.make-fb-cr-links a { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; background: rgba(255,255,255,.16);
  box-shadow: inset 0 0 0 1.5px currentColor; color: inherit !important; font: 700 12.5px/1 var(--make-sans); text-decoration: none !important; white-space: nowrap;
  transition: background-color var(--make-dur, .22s) var(--make-ease, ease), transform .3s var(--make-ease-spring, ease); }
.make-fb-cr-links a:hover { background: rgba(255,255,255,.3); transform: translateY(-1px); }
.make-fb-usercard:not([class*="--done"]):not([class*="completed"]) .make-fb-cr-links a { background: transparent; }

/* v0.41.2 All teams: Company overview button above the team grid */
.make-teams-toolbar { display: flex; justify-content: flex-end; margin: 0 0 16px; }
.make-teams-ovbtn { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 16px; border-radius: 999px; background: var(--make-ink); color: #fff !important;
  font: 700 13.5px/1 var(--make-sans); text-decoration: none !important; white-space: nowrap; transition: background-color .2s, transform .2s cubic-bezier(.2,.8,.2,1); }
.make-teams-ovbtn:hover { background: var(--make-blue, #1439f5); transform: translateY(-2px); }

/* v0.41.3 Client cards on All teams (project-stats clients with no team yet) + ps_client.php */
.make-fb-usercard__badge--client { background: rgba(31,37,43,.1) !important; color: var(--make-ink) !important; }
.make-fb-usercard--client .make-fb-usercard__photo { opacity: .92; }
.make-ps__top { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; position: relative; z-index: 2; }
.make-ps__chip { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 999px; background: var(--make-ink); color: #fff !important;
  font: 700 13.5px/1 var(--make-sans); text-decoration: none !important; white-space: nowrap; transition: transform .2s cubic-bezier(.2,.8,.2,1); }
.make-ps__chip:hover { transform: translateY(-2px); }
.make-ps__chip--ghost { background: transparent; color: var(--make-ink) !important; box-shadow: inset 0 0 0 1.5px var(--make-ink); }
.make-ps__cprojs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 0 26px; }
.make-ps__cproj { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(31,37,43,.08); min-width: 0; }
.make-ps__cpbar { flex: 0 0 auto; width: 6px; align-self: stretch; border-radius: 6px; }
.make-ps__cpmain { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.make-ps__cpname { font: 800 15px/1.25 var(--make-display); color: var(--make-ink); overflow-wrap: anywhere; }
.make-ps__cpmeta { font-size: 12.5px; color: rgba(31,37,43,.65); }
.make-ps__cpdesc { font-size: 13px; line-height: 1.45; color: rgba(31,37,43,.75); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.make-ps__cpstatus { flex: 0 0 auto; padding: 4px 10px; border-radius: 999px; background: var(--make-ink); color: #fff; font: 700 11.5px/1.2 var(--make-sans); }
.make-ps__cpstatus.is-done { background: rgba(31,37,43,.1); color: var(--make-ink); }

/* v0.41.5: long breakdowns (e.g. Projects by type) scroll inside their card instead of stretching the row */
.make-ps__mixrows { display: flex; flex-direction: column; max-height: 232px; overflow-y: auto; margin-right: -10px; padding-right: 10px;
  scrollbar-width: thin; scrollbar-color: rgba(31,37,43,.25) transparent;
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); }
.make-ps__mixrows::-webkit-scrollbar { width: 6px; }
.make-ps__mixrows::-webkit-scrollbar-thumb { background: rgba(31,37,43,.25); border-radius: 6px; }
.make-ps__year--all { margin-left: 4px; }

/* v0.41.7 bar charts: every column = value / bar track / label rows of the SAME height, so bars share one baseline and their
   heights compare correctly however many lines a label wraps to (labels used to push some bars up and shrink them). */
.make-ps__bars { height: auto; align-items: stretch; gap: clamp(8px, 1.6vw, 18px); }
.make-ps__barcol { display: grid; grid-template-rows: 2.6em 170px minmax(3.2em, auto); justify-items: center; align-items: end; row-gap: 6px; height: auto; min-width: 0; }
.make-ps__barcol .make-ps__barval { align-self: end; text-align: center; line-height: 1.15; overflow-wrap: anywhere; }
.make-ps__barcol .make-ps__bar { align-self: end; }
.make-ps__barcol .make-ps__barlbl { align-self: start; line-height: 1.35; }

/* v0.41.8: the three cards in a stats row are always the SAME height — set by the chart card; the long lists (status / type)
   fill the rest of their card and scroll inside it instead of deciding the card's height. Stacked (narrow): capped lists. */
.make-ps__row { align-items: stretch; }
.make-ps__row > .make-ps__card { min-height: 0; }
.make-ps__row .make-ps__mixrows { flex: 1 1 0; min-height: 120px; max-height: none; }
@media (max-width: 1000px) { .make-ps__row .make-ps__mixrows { flex: 0 0 auto; max-height: 232px; } }

/* v0.41.9: bar charts as an even grid — every column exactly the same width, bars and labels centred in their column, so
   the chart sits centred in its card (flex columns grew by their label length and drifted right). */
.make-ps__bars { display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); justify-content: stretch; justify-items: stretch; padding-inline: 0; }
.make-ps__bars > .make-ps__barcol { grid-row: 1; min-width: 0; max-width: none; margin: 0; }
.make-ps__barcol { width: 100%; flex: none; }
.make-ps__barcol .make-ps__barval, .make-ps__barcol .make-ps__barlbl { width: 100%; text-align: center; }
.make-ps__barcol .make-ps__bar { width: min(90px, 72%); justify-self: center; }

/* v0.42.0 All teams: client description + add/edit link, separate "Clients" grid; profile "Worked on most" = numbers */
.make-fb-usercard__desc { margin: 6px 0 0; font-size: 12.5px; line-height: 1.45; color: rgba(31,37,43,.72); text-wrap: pretty;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.make-fb-usercard__desclink { display: inline-block; margin: 0 16px 14px; font: 700 12px/1.2 var(--make-sans); color: var(--make-blue, #1439f5) !important; text-decoration: none !important; }
.make-fb-usercard__desclink:hover { text-decoration: underline !important; }
.make-teams-sechead { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: 38px 0 14px; padding-top: 22px; border-top: 1.5px solid rgba(31,37,43,.1); }
.make-teams-sechead span { font: 800 12px/1.2 var(--make-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--make-ink); }
.make-teams-sechead small { font-size: 13px; color: rgba(31,37,43,.6); }
/* v0.44.1: the band was a 120px SQUARE (aspect-ratio 1/1 from the base card) — now the full card width; initials sized to fit */
.make-fb-usercard-grid--clients .make-fb-usercard__photo { width: 100%; height: 120px; min-height: 0; aspect-ratio: auto !important; padding: 0 18px; box-sizing: border-box; }
.make-fb-usercard-grid--clients .make-fb-usercard__initials { font-size: clamp(30px, 3.4vw, 42px); letter-spacing: -.01em; line-height: 1; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: clip; }
.make-tdesc__form { display: flex; flex-direction: column; gap: 10px; max-width: 640px; }
.make-tdesc__label { font: 800 13px/1.2 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--make-ink); }
.make-tdesc__input { width: 100%; padding: 12px 14px; border-radius: 16px; border: 1.5px solid rgba(31,37,43,.18); background: #fff; font: 500 14.5px/1.5 var(--make-sans); color: var(--make-ink); resize: vertical; }
.make-tdesc__input:focus { outline: none; border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.15); }
.make-tdesc__actions { display: flex; align-items: center; gap: 14px; }
.make-tdesc__cancel { font: 700 13.5px/1 var(--make-sans); color: var(--make-ink) !important; }
.make-prof__dots { align-items: baseline; gap: 5px; }
.make-prof__scount { font: 800 17px/1 var(--make-display); color: var(--make-blue); }
.make-prof__dots small { font-size: 12px; font-weight: 600; color: rgba(31,37,43,.6); }

/* v0.43.0 Downloads (Directors): process picker, one block per team = colour pill + "ready / remaining" drop-down */
.make-fbdl { max-width: 960px; }
.make-fbdl__cycles { margin: 0 !important; }
.make-fbdl__cycle { --axis: #1f252b; --axis-ink: #fff; display: inline-flex !important; align-items: center; gap: 8px; text-decoration: none !important; color: var(--make-ink) !important; }
.make-fbdl__cycle.is-active { color: #fff !important; }
a.make-oto-secbar__arrow { color: var(--make-ink) !important; text-decoration: none !important; }
a.make-oto-secbar__arrow:hover { color: #fff !important; }
@media (max-width: 640px) { .make-fbdl__cycles .make-oto-secbar__arrow:first-child { margin-right: auto; } }
.make-fbdl__cyclestate--done { background: var(--make-blue) !important; color: #fff !important; }
.make-fbdl__cyclestate { padding: 2px 8px; border-radius: 999px; background: var(--make-cyan, #43e7f9); color: var(--make-ink); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.make-fbdl__title { margin: 0 !important; }
.make-fbdl__teams { display: flex; flex-direction: column; gap: 22px; margin-top: -22px; }
.make-fbdl__team { display: flex; flex-direction: column; gap: 8px; }
.make-fbdl__none { flex: 0 0 auto; font-family: var(--make-display); font-weight: 600; font-size: 15px; opacity: .8; }
.make-fbdl__drop { border-radius: 22px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); overflow: hidden; }
.make-fbdl__drop > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px 18px; flex-wrap: wrap; padding: 14px 18px 14px 24px; transition: background-color .15s ease; }
.make-fbdl__drop > summary::-webkit-details-marker { display: none; }
.make-fbdl__drop > summary:hover { background: rgba(31,37,43,.03); }
.make-fbdl__drop > summary:focus-visible { outline: 3px solid var(--make-blue); outline-offset: -3px; }
.make-fbdl__stat { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--make-ink); }
.make-fbdl__stat b { font-family: var(--make-display); font-size: 18px; font-weight: 800; }
.make-fbdl__stat::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--make-blue); }
.make-fbdl__stat--left::before { background: var(--make-amber, #f49f16); }
.make-fbdl__bar { flex: 1 1 120px; min-width: 80px; height: 6px; border-radius: 999px; background: rgba(31,37,43,.1); overflow: hidden; }
.make-fbdl__barfill { display: block; height: 100%; border-radius: inherit; background: var(--make-blue); }
.make-fbdl__chev { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--make-ink); color: #fff; transition: transform .22s cubic-bezier(.22,1,.36,1); }
.make-fbdl__drop[open] .make-fbdl__chev { transform: rotate(180deg); }
.make-fbdl__lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1.5px solid rgba(31,37,43,.08); animation: make-pop-in var(--make-dur, .2s) var(--make-ease, ease) both; }
.make-fbdl__col { padding: 16px 24px 20px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.make-fbdl__col--left { border-left: 1.5px solid rgba(31,37,43,.08); }
.make-fbdl__coltitle { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font: 800 11.5px/1.2 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--make-ink); }
.make-fbdl__colcount { padding: 2px 8px; border-radius: 999px; background: rgba(31,37,43,.08); font-size: 11px; letter-spacing: .02em; }
.make-fbdl__person { display: grid; grid-template-columns: 10px minmax(0, 1fr); align-items: center; gap: 4px 12px; padding: 8px 0; }
.make-fbdl__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--make-blue); }
.make-fbdl__dot--left { background: var(--make-amber, #f49f16); }
.make-fbdl__name { font-weight: 700; font-size: 15px; color: var(--make-ink); overflow-wrap: anywhere; }
.make-fbdl__side { grid-column: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.make-fbdl__doc { display: inline-flex; align-items: center; padding: 3px 11px; border-radius: 999px; background: var(--make-blue); color: #fff !important; font-size: 12px; font-weight: 700; text-decoration: none !important; transition: transform .15s ease, background-color .15s ease; }
.make-fbdl__doc:hover { background: #0f2fd6; transform: translateY(-1px); }
.make-fbdl__empty { margin: 0; font-size: 14px; color: rgba(31,37,43,.62); }
@media (max-width: 700px) {
  .make-fbdl__lists { grid-template-columns: minmax(0, 1fr); }
  .make-fbdl__col--left { border-left: 0; border-top: 1.5px solid rgba(31,37,43,.08); }
  .make-fbdl__col { padding: 14px 18px 16px; }
  .make-fbdl__drop > summary { padding: 12px 14px 12px 18px; }
  .make-fbdl__bar { order: 3; flex-basis: 100%; }
}

/* v0.44.0 Downloads: "Download sent so far" on the Remaining column */
.make-fbdl__pendingdl { margin-left: auto; display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; background: var(--make-ink); color: #fff !important; font: 700 12px/1.2 var(--make-sans); letter-spacing: 0; text-transform: none; text-decoration: none !important; white-space: nowrap; transition: background-color .15s ease, transform .15s ease; }
.make-fbdl__pendingdl:hover { background: var(--make-blue); transform: translateY(-1px); }
.make-fbdl__coltitle { flex-wrap: wrap; }
.make-fb-usercard-grid--clients .make-fb-usercard__initials { color: inherit !important; }
/* v0.44.3 client page: description + edit link */
.make-ps__desc { position: relative; margin: 14px 0 0 !important; max-width: 620px; font-size: 16px; line-height: 1.5; color: var(--make-ink); text-wrap: pretty; }
.make-ps__desclink { position: relative; display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 700; color: var(--make-blue) !important; text-decoration: underline !important; text-underline-offset: 3px; }


/* v0.45.0 My Process — step bar, part cards (Process / History tabs) */
.make-fbm--home.make-mp { max-width: 1200px; gap: 28px; }
.make-mp-steps { display: flex; flex-direction: column; gap: 14px; }
.make-mp-steps__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
.make-mp-steps__name { font: 700 13px/1.2 var(--make-display); letter-spacing: .14em; text-transform: uppercase; }
.make-mp-steps__caption { font-size: 14px; color: rgba(31,37,43,.72); }
.make-mp-steps__list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.make-mp-step { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.make-mp-step__track { display: block; height: 10px; border-radius: 999px; background: rgba(31,37,43,.1); overflow: hidden; }
.make-mp-step__fill { display: block; height: 100%; background: var(--make-blue); border-radius: 999px; transition: width .6s var(--make-ease); }
.make-mp-step--current .make-mp-step__track { box-shadow: inset 0 0 0 2px var(--make-blue); }
.make-mp-step__row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.make-mp-step__num { flex: none; width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font: 800 12px/1 var(--make-display); background: rgba(31,37,43,.1); color: var(--make-ink); }
.make-mp-step--done .make-mp-step__num { background: var(--make-blue); color: #fff; }
.make-mp-step--current .make-mp-step__num { background: var(--make-ink); color: #fff; }
.make-mp-step__label { font: 800 15px/1.2 var(--make-display); }
.make-mp-step--todo .make-mp-step__label { color: rgba(31,37,43,.55); }
.make-mp-step__now { font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: var(--make-cyan); color: var(--make-ink); }
.make-mp-cards { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0,1fr)); align-items: start; }
.make-mp-cards--n4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.make-mp-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--make-paper); border-radius: 28px !important; padding: 30px 24px 22px; box-shadow: inset 0 0 0 1.5px rgba(31,37,43,.1); overflow: hidden; }
.make-mp-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: var(--mp); }
.make-mp-card__title { margin: 0 !important; font-family: var(--make-display) !important; font-weight: 800 !important; font-size: 26px !important; line-height: 1.05 !important; letter-spacing: -.01em; }
.make-mp-card__sub { margin: 6px 0 0 !important; font-size: 14px; line-height: 1.4; color: rgba(31,37,43,.68); text-wrap: pretty; }
.make-mp-card__tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 18px 0 12px; padding: 4px; background: rgba(31,37,43,.06); border-radius: 999px; align-self: flex-start; }
.make-mp-card__tab { border: 0; background: transparent; padding: 8px 16px; border-radius: 999px !important; font: 700 14px/1 var(--make-sans); color: var(--make-ink); cursor: pointer; transition: background-color .16s ease, color .16s ease; }
.make-mp-card__tab:hover { background: rgba(31,37,43,.08); }
.make-mp-card__tab.is-active { background: var(--make-ink); color: #fff; }
.make-mp-card__panel { max-height: 560px; overflow: auto; min-width: 0; }
.make-mp-card__panel[hidden] { display: none !important; }
.make-mp-empty { margin: 6px 0 !important; padding: 22px 16px; text-align: center; border: 1.5px dashed rgba(31,37,43,.22); border-radius: 16px; color: rgba(31,37,43,.62); font-weight: 700; font-size: 15px; }
.make-mp-note { margin: 10px 0 0 !important; font-size: 14px; color: rgba(31,37,43,.65); }
.make-mp-item { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-bottom: 1px solid rgba(31,37,43,.12); color: var(--make-ink) !important; text-decoration: none !important; }
.make-mp-item--link:hover .make-mp-item__cta { transform: translateY(-1px); }
.make-mp-item__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.make-mp-item__name { font: 800 16px/1.25 var(--make-display); min-width: 0; }
.make-mp-item__meta { font-size: 13.5px; line-height: 1.4; color: rgba(31,37,43,.7); }
.make-mp-item--late .make-mp-item__meta { color: #b3261e; }
.make-mp-item__cta { flex: none; font: 700 13px/1 var(--make-sans); padding: 8px 14px; border-radius: 999px; background: var(--make-blue); color: #fff; transition: transform .16s ease; }
.make-mp-item__cta--ghost { background: transparent; box-shadow: inset 0 0 0 1.5px var(--make-ink); color: var(--make-ink); }
.make-mp-card .make-fbm-progress { max-width: none; margin-top: 12px; }
.make-mp-card .make-fbm-progress__track { background: rgba(31,37,43,.1); }
.make-mp-card .make-fbm-progress__bar { background: var(--make-blue); }
.make-mp-card .make-fbmc-grid { grid-template-columns: minmax(0,1fr); margin: 0; }
/* the old Records lists, inside a card */
.make-mp-embed { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.make-mp-card .make-fbf-history { margin: 0; }
.make-mp-card .make-fbm-history .make-fbm-eyebrow { font-size: 12px; margin-bottom: 0; }
.make-mp-card .make-fbm-row { grid-template-columns: 10px minmax(0,1fr); gap: 6px 12px; padding: 14px 0; }
.make-mp-card .make-fbm-row__links { grid-column: 2; display: flex; flex-wrap: wrap; gap: 8px; }
.make-mp-card .make-fbah__grid { grid-template-columns: minmax(0,1fr); }
@media (max-width: 1100px) { .make-mp-cards { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 760px) {
  .make-mp-cards, .make-mp-cards--n4 { grid-template-columns: minmax(0,1fr); }
  .make-mp-steps__list { gap: 6px; }
  .make-mp-step__label { font-size: 13px; }
  .make-mp-step__now { display: none; }
  .make-mp-card__panel { max-height: none; }
}

/* v0.45.1 My Process — parts as link tiles (same card as the dashboard's course overview), one part per page */
.make-mp-tiles { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.make-mp-tile { min-height: 0 !important; }
.make-mp-tile .make-category-card__top { align-items: center !important; }
.make-mp-tile__title { font-size: 22px !important; max-width: none !important; flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.make-mp-tile .make-category-card__note { flex: 1 1 auto; padding-bottom: 14px !important; font-size: 15px !important; }
.make-mp-tile__status { align-self: flex-start; margin: 0 22px 22px; padding: 6px 12px; border-radius: 999px; font: 700 13px/1 var(--make-sans); background: rgba(31,37,43,.07); color: rgba(31,37,43,.7); }
.make-mp-tile__status--todo { background: var(--make-ink); color: #fff; }
.make-mp-back { align-self: flex-start; display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 999px !important; background: var(--make-ink); color: #fff !important; font: 700 14px/1 var(--make-sans); text-decoration: none !important; }
.make-mp-back:hover { background: var(--make-blue); }
.make-mp-card--full { padding: 34px 36px 30px; }
.make-mp-card--full .make-mp-card__title { font-size: clamp(32px, 4vw, 44px) !important; }
.make-mp-card--full .make-mp-card__panel { max-height: none; overflow: visible; }
.make-mp-card--full .make-fbah__grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.make-mp-card--full .make-fbm-row { grid-template-columns: 12px minmax(0,1fr) auto; }
.make-mp-card--full .make-fbm-row__links { grid-column: auto; }
.make-mp-card--full .make-fbmc-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
@media (max-width: 760px) { .make-mp-card--full { padding: 28px 20px 22px; } .make-mp-card--full .make-fbm-row { grid-template-columns: 10px minmax(0,1fr); } .make-mp-card--full .make-fbm-row__links { grid-column: 2; } }
.make-mp-subhead { font-size: 12px !important; margin: 18px 0 0 !important; padding-bottom: 8px; border-bottom: 1px solid var(--make-ink); }
.make-mp-card__panel > .make-mp-subhead:first-child { margin-top: 4px !important; }

/* v0.45.4 Evaluación card: the date form wraps inside the narrower My Process card; Reunión page pills bigger */
.make-mp-card .make-fbmc-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important; margin-top: 4px !important; }
.make-mp-card .make-fbmc__form { flex-wrap: wrap !important; }
.make-mp-card .make-fbmc__form .make-fbmc__when { flex: 1 1 100%; flex-wrap: wrap; }
.make-mp-card .make-fbmc__when .make-cal-field { flex: 1 1 150px; max-width: none; }
.make-mp-card .make-fbmc__form .make-fbmc__btn { margin-left: 0; }
.make-fbmt__when .make-fbm-chip { font-size: 16px !important; padding: 10px 18px !important; }
.make-fbmt__when .make-fbm-chip__label { font-size: 12px !important; }
.make-mp-btn2 { background: transparent; border-color: currentColor !important; color: var(--make-ink) !important; }
.make-mp-btn2--onblue { color: #fff !important; }
/* v0.45.6 My Process tiles: flat colour band, white title + icon on one line, black body with white text */
.make-mp-tile { background-color: var(--make-ink) !important; border-color: var(--make-ink) !important; }
.make-mp-tile:hover { color: #fff !important; }
.make-mp-tile .make-category-card__top::before { display: none !important; }
.make-mp-tile__title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; font-size: clamp(17px, 1.45vw, 22px) !important; }
.make-mp-tile .make-category-card__note { color: #fff !important; }
.make-mp-tile__status { background: rgba(255,255,255,.14); color: #fff; }
.make-mp-tile__status--todo { background: #fff; color: var(--make-ink); }
/* v0.45.7 My Process tiles flipped: black band (white title + icon), white body with ink text */
.make-mp-tile { background-color: #fff !important; border-color: rgba(31,37,43,.1) !important; }
.make-mp-tile:hover { color: var(--make-ink) !important; }
.make-mp-tile .make-category-card__note { color: var(--make-ink) !important; }
.make-mp-tile__status { background: rgba(31,37,43,.07); color: rgba(31,37,43,.72); }
.make-mp-tile__status--todo { background: var(--make-ink); color: #fff; }
.make-mp-tile__title { font-size: clamp(15px, 1.2vw, 22px) !important; }
/* v0.45.8 tile titles always fit one line: sized to the card's own width */
.make-mp-tile { container-type: inline-size; }
.make-mp-tile .make-category-card__top { gap: 8px !important; padding-left: 20px !important; padding-right: 18px !important; }
.make-mp-tile__title { font-size: clamp(12px, 6.4cqi, 20px) !important; letter-spacing: -.02em !important; text-overflow: clip; }
/* v0.45.9 slimmer tile title band */
.make-mp-tile .make-category-card__top { padding-top: 12px !important; padding-bottom: 12px !important; }
.make-mp-tile .make-category-card__icon, .make-mp-tile .make-category-card__icon-glyph { width: 22px !important; height: 22px !important; }

/* v0.46.4 View results — same cards as the form, Autoevaluación and Feedback side by side */
.make-fbvr-back { margin-bottom: 18px; }
.make-fbvr-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 10px; margin-top: 10px; }
.make-fbvr-side { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px rgba(31,37,43,.08); min-width: 0; }
.make-fbvr-side__who { font: 800 11.5px/1 var(--make-display); letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-fbvr-side .make-fbf-score { align-self: flex-start; }
.make-fbvr-side__text { font-size: 14.5px; line-height: 1.5; overflow-wrap: anywhere; }
.make-fbvr-side__none { color: rgba(31,37,43,.5); font-style: italic; font-size: 14px; }
.make-fbvr-agree { display: flex; flex-direction: column; gap: 10px; }
.make-fbvr-agree__label { font: 800 13px/1.3 var(--make-display); }

/* v0.48.0 — admin-editable texts (site_text::html + hero.js bindSiteTextEditing). Pencil only in edit mode. */
.make-text-btn { display: none !important; width: 20px; height: 20px; margin-left: 6px; }
body.editing .make-text-target .make-text-btn,
body.make-text-editmode .make-text-target .make-text-btn { display: inline-flex !important; }
body.editing .make-text-target.make-text-editing .make-text-btn,
body.make-text-editmode .make-text-target.make-text-editing .make-text-btn { display: none !important; }
.make-text-toggle {
    align-self: center; font: inherit; font-size: 13px !important; font-weight: 700; line-height: 1;
    padding: 8px 14px; border-radius: 999px; cursor: pointer; white-space: nowrap;
    border: 1.5px solid rgba(255, 255, 255, .5); background: transparent; color: #fff;
}
.make-text-toggle[aria-pressed="true"] { background: var(--make-cream); color: var(--make-ink); border-color: var(--make-cream); }
.make-text-toggle--float { position: fixed; right: 20px; bottom: 20px; z-index: 2147483000; background: var(--make-ink); }
.make-mp-tile .make-text-btn, .make-category-card .make-text-btn { background: rgba(31, 37, 43, .1); }
.make-text-editor { display: flex; flex-direction: column; gap: 8px; width: 100%; margin: 2px 0; cursor: auto; }
.make-text-editor__input {
    width: 100%; min-height: 44px; resize: vertical; box-sizing: border-box;
    font: inherit; color: var(--make-ink); line-height: 1.45;
    background: #fff; border: 1.5px solid var(--make-blue); border-radius: 10px; padding: 8px 10px;
}
.make-text-editor__input:focus { outline: 2px solid rgba(20, 57, 245, .25); outline-offset: 1px; }
.make-text-editor__row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.make-text-editor__btn {
    font: inherit; font-size: 13px !important; font-weight: 700; line-height: 1;
    padding: 7px 12px; border-radius: 999px; cursor: pointer;
    border: 1.5px solid var(--make-ink); background: transparent; color: var(--make-ink);
}
.make-text-editor__btn--save { background: var(--make-ink); color: #fff; }
.make-text-editor__btn--reset { border-color: transparent; text-decoration: underline; padding-left: 4px; padding-right: 4px; }
.make-text-editor__hint { font-size: 12px; color: var(--make-ink); opacity: .7; }
.make-fbm-banner .make-text-btn { background: rgba(250, 241, 230, .9); color: var(--make-ink); }
.make-fbm-banner .make-text-editor__input { font-size: 16px; font-weight: 400; font-family: inherit; letter-spacing: 0; text-transform: none; }
.make-fbm-banner .make-text-editor__btn { border-color: currentColor; color: inherit; }
.make-fbm-banner .make-text-editor__btn--save { background: var(--make-cream); color: var(--make-ink); border-color: var(--make-cream); }
.make-fbm-banner .make-text-editor__hint { color: inherit; }

/* v0.48.8 — Director select-to-delete on My Process entries (same circle as the In-progress list) */
.make-mp-itemwrap { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 12px; }
.make-mp-itemwrap--card { align-items: start; }
.make-mp-itemwrap--card > .make-mp-pick { margin-top: 18px; }
.make-mp-pick { opacity: 0; cursor: pointer; transition: opacity .15s ease, box-shadow .15s ease, background-color .15s ease; }
.make-mp-itemwrap:hover .make-mp-pick, .make-fbm-row:hover .make-mp-pick, .make-fbah__entry:hover .make-mp-pick,
.make-mp-pick:focus-within, .make-mp-pick.is-on, body.make-mp-picking .make-mp-pick { opacity: 1; }
@media (hover: none) { .make-mp-pick { opacity: 1; } }
.make-mp-itemwrap.is-selected > .make-mp-item, .make-fbm-row.is-selected, .make-fbah__entry.is-selected { background: rgba(20, 57, 245, .06); }
.make-mp-itemwrap.is-selected > .make-mp-item { border-radius: 10px; }
.make-fbm-row--pick { grid-template-columns: 22px 12px minmax(0, 1fr) auto; }
.make-mp-delform .make-fbm-bulk { margin: 0 0 14px; }
/* v0.48.9 — booked Feedback date pill on the My Process main card */
.make-mp-when { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; padding: 5px 12px; border-radius: 999px; background: var(--make-paper); color: var(--make-ink); font: 700 14px/1 var(--make-sans); }
.make-fbm-banner--done .make-mp-when { background: var(--make-ink); color: #fff; }
/* v0.48.10 — team leader's per-person to-do inside the My Process main card */
.make-mp-todo { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; max-width: 760px; margin: 18px 0 4px; }
.make-mp-todo__row { display: grid; grid-template-columns: 190px minmax(0, 1fr); align-items: start; gap: 12px; }
.make-mp-todo__label { display: inline-flex; align-items: center; gap: 8px; padding-top: 6px; font: 700 12px/1.2 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; }
.make-mp-todo__label b { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: currentColor; font-size: 11px; letter-spacing: 0; }
.make-fbm-banner--pending .make-mp-todo__label b { color: #fff; } .make-fbm-banner--pending .make-mp-todo__label b { -webkit-text-fill-color: var(--make-blue); }
.make-fbm-banner--done .make-mp-todo__label b { -webkit-text-fill-color: #fff; }
.make-mp-todo__people { display: flex; flex-wrap: wrap; gap: 6px; }
.make-mp-todo__chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; font: 700 14px/1 var(--make-sans); text-decoration: none !important; transition: background-color .15s ease, transform .15s ease; }
.make-mp-todo__chip small { font-weight: 500; font-size: 12.5px; opacity: .8; }
.make-mp-todo__chip:hover { transform: translateY(-1px); }
.make-fbm-banner--pending .make-mp-todo__chip { background: rgba(255, 255, 255, .16); color: #fff !important; }
.make-fbm-banner--pending .make-mp-todo__chip:hover { background: rgba(255, 255, 255, .28); }
.make-fbm-banner--done .make-mp-todo__chip, .make-fbm-banner--empty .make-mp-todo__chip { background: rgba(31, 37, 43, .07); color: var(--make-ink) !important; }
@media (max-width: 760px) { .make-mp-todo__row { grid-template-columns: 1fr; gap: 6px; } .make-mp-todo__label { padding-top: 0; } }
.make-mp-ownnote { position: relative; z-index: 1; max-width: 640px; margin: 14px 0 0 !important; padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, .14); font-size: 15px; line-height: 1.45; }
.make-fbm-banner--done .make-mp-ownnote { background: rgba(31, 37, 43, .06); }
.make-fbm-banner--pending .make-mp-when { background: var(--make-paper); color: var(--make-ink); }
/* v0.48.13 — main-card buttons for several people open a list of names */
.make-fbm-actions--split:has(.make-mp-menu__list) { flex-wrap: wrap; }
.make-mp-menu__btn { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.make-mp-menu__chev { transition: transform .2s ease; }
.make-mp-menu__btn[aria-expanded="true"] .make-mp-menu__chev { transform: rotate(180deg); }
.make-mp-menu__list { flex: 1 0 100%; order: 99; display: flex; flex-direction: column; gap: 8px; margin-top: 4px; padding: 14px 16px; border-radius: 16px; background: rgba(255, 255, 255, .12); animation: make-mp-menu-in .2s ease; }
.make-mp-menu__list[hidden] { display: none !important; }
.make-fbm-banner--done .make-mp-menu__list { background: rgba(31, 37, 43, .05); }
.make-mp-menu__label { font: 700 12px/1.2 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; }
.make-mp-menu__items { display: flex; flex-wrap: wrap; gap: 6px; }
.make-mp-menu__item { font-size: 15px !important; padding: 9px 14px !important; }
@keyframes make-mp-menu-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* v0.48.14 — Final objetivos (Feedback) / Final evaluaciones (Evaluaciones) */
.make-mp-final__group { display: flex; flex-direction: column; gap: 10px; margin-bottom: 26px; }
.make-mp-final__list { display: flex; flex-direction: column; gap: 14px; }
.make-mp-final__scope { margin: 8px 0 12px !important; font: 800 22px/1.15 var(--make-sans) !important; color: var(--make-ink); }
.make-mp-final__item { display: flex; flex-direction: column; gap: 6px; }
.make-mp-final__person { font: 800 17px/1.2 var(--make-sans); color: var(--make-ink); }
.make-mp-final__item .make-fbsum { margin: 0 !important; }
.make-mp-final { border-radius: 18px; background: var(--make-paper); border: 1px solid rgba(31, 37, 43, .1); overflow: hidden; }
.make-mp-final__head { display: flex; align-items: center; gap: 16px; padding: 16px 20px; cursor: pointer; list-style: none; }
.make-mp-final__head::-webkit-details-marker { display: none; }
.make-mp-final__head:hover { background: rgba(31, 37, 43, .03); }
.make-mp-final__headtext { display: flex; flex-direction: column; gap: 3px; flex: 1 1 auto; min-width: 0; }
.make-mp-final__who { font: 800 18px/1.2 var(--make-sans); color: var(--make-ink); }
.make-mp-final__meta { font-size: 13.5px; color: rgba(31, 37, 43, .7); }
.make-mp-final__score { display: flex; align-items: baseline; gap: 6px; font: 800 24px/1 var(--make-sans); color: var(--make-ink); }
.make-mp-final__score > span { font: 700 11px/1 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(31, 37, 43, .65); margin-right: 4px; }
.make-mp-final__score small, .make-mp-final__axavg small, .make-mp-final__rating small { font-size: .55em; font-weight: 600; opacity: .65; }
.make-mp-final__chev { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 999px; background: rgba(31, 37, 43, .07); transition: transform .2s ease; }
.make-mp-final[open] .make-mp-final__chev { transform: rotate(180deg); }
.make-mp-final__body { display: flex; flex-direction: column; gap: 12px; padding: 4px 20px 20px; }
.make-mp-final__axis { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 14px; background: #fff; border-left: 0; box-shadow: inset 0 3px 0 var(--axis); }
.make-mp-final__axhead { display: flex; align-items: center; gap: 10px; }
.make-mp-final__dot { width: 10px; height: 10px; border-radius: 999px; background: var(--axis); flex: 0 0 auto; }
.make-mp-final__axtitle { flex: 1 1 auto; font: 800 15px/1.25 var(--make-sans); letter-spacing: .02em; text-transform: uppercase; color: var(--make-ink); }
.make-mp-final__axavg { font: 800 20px/1 var(--make-sans); color: var(--make-ink); }
.make-mp-final__q { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; border-top: 1px solid rgba(31, 37, 43, .08); }
.make-mp-final__qtop { display: flex; align-items: baseline; gap: 12px; justify-content: space-between; }
.make-mp-final__qtext { font-weight: 700; font-size: 14.5px; color: var(--make-ink); text-wrap: pretty; }
.make-mp-final__rating { flex: 0 0 auto; font: 800 16px/1 var(--make-sans); color: var(--make-ink); }
.make-mp-final__ans { margin: 0 !important; font-size: 14.5px; line-height: 1.5; color: rgba(31, 37, 43, .85); text-wrap: pretty; }
.make-mp-final__draft { margin-top: 4px; padding: 10px 12px; border-radius: 10px; background: rgba(31, 37, 43, .05); font-size: 14.5px; line-height: 1.5; }
.make-mp-final__draftlbl { display: block; margin-bottom: 4px; font: 700 11px/1.2 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(31, 37, 43, .7); }
.make-mp-final__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
@media (max-width: 640px) { .make-mp-final__head { flex-wrap: wrap; } .make-mp-final__score { order: 3; } }
/* v0.48.20 — step bar: Inicio de proceso / Evaluación (+ Autoevaluación above) / Feedback, one segment per person */
.make-mp-steps__list { align-items: end; }
.make-mp-step__track--seg { display: flex; gap: 3px; background: transparent; overflow: visible; }
.make-mp-step__seg { flex: 1 1 0; min-width: 0; height: 100%; border-radius: 999px; background: rgba(31,37,43,.1); transition: background-color .4s var(--make-ease); }
.make-mp-step__seg.is-on { background: var(--make-blue); }
.make-mp-step--current .make-mp-step__track--seg { box-shadow: none; }
.make-mp-step--current .make-mp-step__seg:not(.is-on) { box-shadow: inset 0 0 0 2px var(--make-blue); background: transparent; }
.make-mp-step__sub { display: flex; flex-direction: column; gap: 6px; margin-bottom: 2px; }
.make-mp-step__sublabel { display: flex; align-items: center; gap: 6px; font: 700 11px/1.2 var(--make-sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(31,37,43,.7); }
.make-mp-step__track--thin { height: 5px; }
.make-mp-step__track--thin .make-mp-step__seg.is-on { background: var(--make-cyan); }
.make-mp-step--current .make-mp-step__track--thin .make-mp-step__seg:not(.is-on) { box-shadow: inset 0 0 0 1.5px var(--make-cyan); }
.make-mp-step__count { font: 700 12px/1 var(--make-sans); padding: 3px 7px; border-radius: 999px; background: rgba(31,37,43,.07); color: var(--make-ink); letter-spacing: 0; text-transform: none; }
.make-mp-step__sublabel .make-mp-step__count { font-size: 11px; padding: 2px 6px; }
/* v0.48.21 — Autoevaluación bar looks like the Evaluación one (same height, blue, outline) */
.make-mp-step__track--thin { height: 10px; }
.make-mp-step__track--thin .make-mp-step__seg.is-on { background: var(--make-blue); }
.make-mp-step--current .make-mp-step__track--thin .make-mp-step__seg:not(.is-on) { box-shadow: inset 0 0 0 2px var(--make-blue); }
.make-mp-step__sub { gap: 8px; margin-bottom: 4px; }
/* v0.49.0 — 1to1 sheet: sections × months, three compact cards per cell (Objetivo / Acuerdo / Semáforo) */
.make-otos { --cell: 268px; --seccol: 190px; }
.make-otos__strip { display: flex; flex-wrap: wrap; gap: 6px; }
.make-otos__jump { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 0; border-radius: 999px; background: rgba(31,37,43,.06); color: var(--make-ink); font: 700 14px/1 var(--make-sans); cursor: pointer; transition: background-color .15s ease; }
.make-otos__jump:hover { background: rgba(31,37,43,.11); }
.make-otos__jump.is-active { background: var(--make-ink); color: #fff; }
.make-otos__now { font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 999px; background: var(--make-cyan); color: var(--make-ink); }
.make-otos__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--make-blue); }
.make-otos__jump.is-active .make-otos__dot { background: #fff; }
.make-otos__scroll { overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: 8px; border-radius: 20px; }
.make-otos__grid { display: grid; grid-template-columns: var(--seccol) repeat(var(--cols), var(--cell)); gap: 8px; width: max-content; }
.make-otos__corner, .make-otos__sec { position: sticky; left: 0; z-index: 2; background: var(--make-cream); }
.make-otos__corner { display: flex; align-items: flex-end; padding: 0 4px 6px; font: 700 11px/1.2 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-otos__mhead { display: flex; align-items: baseline; gap: 6px; padding: 10px 12px; border-radius: 12px; background: rgba(31,37,43,.06); }
.make-otos__mhead.is-now { background: var(--make-ink); color: #fff; }
.make-otos__mname { font: 800 16px/1.1 var(--make-display); }
.make-otos__myear { font-size: 12.5px; opacity: .7; }
.make-otos__sec { display: flex; flex-direction: column; gap: 6px; padding: 12px 12px 12px 14px; border-radius: 14px; box-shadow: inset 4px 0 0 var(--axis), 8px 0 12px -10px rgba(31,37,43,.25); background: var(--make-paper); }
.make-otos__secnum { font: 800 12px/1 var(--make-sans); color: var(--make-ink); opacity: .55; }
.make-otos__sectitle { font: 800 14px/1.25 var(--make-display); text-transform: uppercase; letter-spacing: .02em; color: var(--make-ink); text-wrap: pretty; }
.make-otos__cell { display: flex; flex-direction: column; gap: 6px; padding: 8px; border-radius: 14px; background: var(--make-paper); box-shadow: inset 0 3px 0 var(--axis); }
.make-otos__cell.is-now { box-shadow: inset 0 3px 0 var(--axis), 0 0 0 2px var(--make-ink); }
.make-otos__card { display: flex; flex-direction: column; gap: 4px; padding: 8px 10px; border-radius: 10px; background: #fff; border: 1px solid rgba(31,37,43,.08); min-width: 0; }
.make-otos__card--obj { background: rgba(31,37,43,.04); border-color: transparent; }
.make-otos__lbl { font: 700 10.5px/1.2 var(--make-sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-otos__objtext { margin: 0 !important; font-size: 13px; line-height: 1.4; color: var(--make-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; cursor: pointer; }
.make-otos__objtext.is-open { -webkit-line-clamp: unset; display: block; }
.make-otos__objtext:focus-visible { outline: 2px solid var(--make-blue); outline-offset: 2px; border-radius: 4px; }
.make-otos__ta { width: 100%; min-height: 0; resize: none; overflow: hidden; border: 0; padding: 2px 0; background: transparent; font: 500 13.5px/1.45 var(--make-sans); color: var(--make-ink); outline: none; }
.make-otos__ta::placeholder { color: rgba(31,37,43,.4); }
.make-otos__card--acu:focus-within { border-color: var(--make-blue); box-shadow: 0 0 0 3px rgba(20,57,245,.12); }
.make-otos__ta--sm { font-size: 12.5px; }
.make-otos__text { margin: 0 !important; font-size: 13.5px; line-height: 1.45; color: var(--make-ink); }
.make-otos__none { color: rgba(31,37,43,.4); }
.make-otos__more { margin-top: 2px; border-top: 1px solid rgba(31,37,43,.08); padding-top: 4px; }
.make-otos__more > summary { display: flex; align-items: center; gap: 6px; list-style: none; cursor: pointer; font: 700 11.5px/1.2 var(--make-sans); color: rgba(31,37,43,.65); padding: 3px 0; }
.make-otos__more > summary::-webkit-details-marker { display: none; }
.make-otos__more > summary svg { margin-left: auto; transition: transform .2s ease; }
.make-otos__more[open] > summary svg { transform: rotate(180deg); }
.make-otos__count { font-size: 10.5px; padding: 1px 6px; border-radius: 999px; background: var(--make-blue); color: #fff; }
.make-otos__sub { display: flex; flex-direction: column; gap: 1px; margin: 4px 0 0 !important; font-weight: 400; }
.make-otos__sublbl { font: 700 10.5px/1.2 var(--make-sans); color: rgba(31,37,43,.6); }
.make-otos__card--sem { flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 6px 6px 10px; }
.make-otos__semwrap { position: relative; }
.make-otos__sembtn { display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px 2px 2px; border: 0; border-radius: 999px; background: transparent; cursor: pointer; color: var(--make-ink); }
.make-otos__sembtn:hover { background: rgba(31,37,43,.06); }
.make-otos__semlist { position: absolute; right: 0; top: calc(100% + 4px); z-index: 20; display: flex; flex-direction: column; gap: 2px; min-width: 150px; padding: 6px; border-radius: 12px; background: #fff; box-shadow: 0 12px 30px -10px rgba(31,37,43,.35), 0 0 0 1px rgba(31,37,43,.08); }
.make-otos__semlist[hidden] { display: none !important; }
.make-otos__semopt { display: flex; align-items: center; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; cursor: pointer; text-align: left; font: 600 12.5px/1.2 var(--make-sans); color: rgba(31,37,43,.7); }
.make-otos__semopt:hover { background: rgba(31,37,43,.06); }
.make-otos .make-oto-sem--none { background: rgba(31,37,43,.07); color: rgba(31,37,43,.6); font-weight: 600; }
.make-otos__cell:has(.make-otos__semwrap.is-open) { position: relative; z-index: 5; }
.make-otos__bar { position: sticky; bottom: 12px; z-index: 10; display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin-top: 4px; padding: 10px 10px 10px 20px; border-radius: 999px; background: var(--make-paper); box-shadow: 0 10px 30px -12px rgba(31,37,43,.35), 0 0 0 1px rgba(31,37,43,.08); }
.make-otos__status { margin-right: auto; font-size: 14px; color: rgba(31,37,43,.7); }
.make-otos__status.is-dirty { color: var(--make-ink); font-weight: 700; }
.make-otos__form { display: flex; flex-direction: column; gap: 14px; }
@media (max-width: 760px) { .make-otos { --cell: 240px; --seccol: 120px; } .make-otos__sectitle { font-size: 12px; } }
/* v0.49.1 — 1to1 sheet: every card visible, months paged with arrows (no sideways scroll) */
.make-otos__scroll { overflow: visible; }
.make-otos__grid { width: 100%; grid-template-columns: var(--seccol) repeat(var(--vis, 3), minmax(0, 1fr)); }
.make-otos__grid > .is-off { display: none !important; }
.make-otos__corner, .make-otos__sec { position: static; }
.make-otos__sec { box-shadow: inset 4px 0 0 var(--axis); }
.make-otos__objtext { display: block; -webkit-line-clamp: unset; overflow: visible; cursor: default; }
.make-otos__nav { display: flex; align-items: center; gap: 10px; }
.make-otos__nav .make-otos__strip { flex: 1 1 auto; justify-content: center; }
.make-otos__arrow { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--make-ink); color: #fff; cursor: pointer; transition: opacity .15s ease, transform .15s ease; }
.make-otos__arrow:hover:not(:disabled) { transform: scale(1.06); }
.make-otos__arrow:disabled { opacity: .2; cursor: default; }
@media (max-width: 760px) { .make-otos { --seccol: 96px; } }
/* v0.49.3 — month change animation helpers */
.make-otos__grid { overflow: hidden; padding: 2px; margin: -2px; }
.make-otos__jump, .make-otos__arrow { transition: background-color .2s ease, color .2s ease, opacity .2s ease, transform .15s ease; }
.make-otos__arrow:active:not(:disabled) { transform: scale(.92); }

/* v0.49.4 — 1to1 sheet: one Objetivo card per section spanning every month */
.make-otos__sec { grid-row: span 2; }
.make-otos__objrow { grid-column: 2 / -1; display: flex; padding: 8px; border-radius: 14px; background: var(--make-paper); box-shadow: inset 0 3px 0 var(--axis); }
.make-otos__objrow .make-otos__card--obj { flex: 1; padding: 10px 14px; }
.make-otos__objrow .make-otos__objtext { font-size: 14px; line-height: 1.5; max-width: 110ch; text-wrap: pretty; }
.make-otos__lblnote { letter-spacing: .04em; text-transform: none; font-weight: 600; opacity: .8; }
.make-otos__objrow + .make-otos__cell, .make-otos__objrow ~ .make-otos__cell { box-shadow: none; }
.make-otos__cell.is-now { box-shadow: 0 0 0 2px var(--make-ink); }

/* v0.49.5 — 1to1 sheet: section card in its colour, the rest a faint tint of it (no accent lines) */
.make-otos__sec { background: var(--axis) !important; box-shadow: none !important; }
.make-otos__sec .make-otos__secnum, .make-otos__sec .make-otos__sectitle { color: var(--axis-ink, #fff) !important; }
.make-otos__sec .make-otos__secnum { opacity: .75; }
.make-otos__objrow, .make-otos__cell { background: color-mix(in srgb, var(--axis) 7%, var(--make-paper)) !important; box-shadow: none !important; }
.make-otos__cell.is-now { box-shadow: 0 0 0 2px var(--make-ink) !important; }
.make-otos__objrow .make-otos__card--obj { background: color-mix(in srgb, var(--axis) 10%, var(--make-paper)); }
.make-otos__cell .make-otos__card { background: color-mix(in srgb, var(--axis) 3%, #fff); border-color: color-mix(in srgb, var(--axis) 14%, transparent); }

/* v0.49.6 — subtler section tints; month strip shows the whole year with feedback months marked */
.make-otos__objrow, .make-otos__cell { background: color-mix(in srgb, var(--axis) 3%, var(--make-paper)) !important; }
.make-otos__objrow .make-otos__card--obj { background: color-mix(in srgb, var(--axis) 5%, var(--make-paper)); }
.make-otos__cell .make-otos__card { background: color-mix(in srgb, var(--axis) 1.5%, #fff); border-color: color-mix(in srgb, var(--axis) 8%, rgba(31,37,43,.06)); }
.make-otos__strip { justify-content: center; align-items: center; gap: 5px; }
.make-otos__jump, .make-otos__ymon { padding: 7px 11px; font-size: 13px; }
.make-otos__ymon { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; font: 600 13px/1 var(--make-sans); color: rgba(31,37,43,.42); background: transparent; border: 1px dashed rgba(31,37,43,.14); cursor: default; }
.make-otos__ymon--fb { color: var(--make-ink); font-weight: 700; border: 1.5px solid var(--make-magenta, #ff27e1); background: color-mix(in srgb, #ff27e1 6%, transparent); }
.make-otos__ymon--fb.is-this { border-style: solid; }
.make-otos__fbtag { font-size: 10.5px; font-weight: 800; letter-spacing: .04em; padding: 2px 7px; border-radius: 999px; background: #ff27e1; color: #fff; }
.make-otos__year { font: 800 13px/1 var(--make-display); color: rgba(31,37,43,.55); padding: 0 6px 0 2px; }

/* v0.49.7 — month strip: one row, short names, year switcher, earlier/later periods linked */
.make-otos__nav { justify-content: space-between; }
.make-otos__strip { flex-wrap: nowrap !important; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; min-width: 0; flex: 0 1 auto; gap: 4px; padding: 2px; }
.make-otos__strip::-webkit-scrollbar { display: none; }
.make-otos__jump, .make-otos__ymon { flex: none; white-space: nowrap; padding: 7px 10px; font-size: 13px; }
.make-otos__fbtag { font-size: 9.5px; padding: 2px 6px; }
.make-otos__ymon--other { color: var(--make-ink); text-decoration: none !important; border: 1px solid rgba(31,37,43,.16); background: rgba(31,37,43,.04); cursor: pointer; }
.make-otos__ymon--other:hover { background: rgba(31,37,43,.1); color: var(--make-ink); }
.make-otos__year { flex: none; display: inline-flex; align-items: center; gap: 2px; padding: 0 6px 0 0; }
.make-otos__yarrow { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; color: rgba(31,37,43,.55); text-decoration: none !important; }
.make-otos__yarrow:hover { background: rgba(31,37,43,.08); color: var(--make-ink); }

/* v0.49.8 — empty half-year months are viewable; year arrows only where there are entries */
.make-otos__ymon--empty { color: rgba(31,37,43,.6); text-decoration: none !important; border: 1px dashed rgba(31,37,43,.2); cursor: pointer; }
.make-otos__ymon--empty:hover { background: rgba(31,37,43,.06); color: var(--make-ink); }
.make-otos__yarrow.is-off { visibility: hidden; }

/* v0.49.10 — section title cards: big number behind the title, number stripped from the title text */
.make-otos__sec { position: relative; overflow: hidden; padding: 18px 16px !important; border-radius: 18px; isolation: isolate; }
.make-otos__sec .make-otos__secnum { position: absolute; top: -.12em; right: -.06em; z-index: -1; font: 800 clamp(120px, 12vw, 190px)/.85 var(--make-display) !important; letter-spacing: -.06em; opacity: .1 !important; pointer-events: none; user-select: none; }
.make-otos__sec .make-otos__sectitle { position: relative; font: 800 clamp(17px, 1.5vw, 22px)/1.05 var(--make-display) !important; letter-spacing: -.01em; text-transform: uppercase; overflow-wrap: anywhere; }
@media (max-width: 760px) { .make-otos__sec .make-otos__secnum { font-size: 90px !important; } .make-otos__sec .make-otos__sectitle { font-size: 14px !important; } }

/* v0.49.11 — section titles: whole words only (JS shrinks long ones to fit) */
.make-otos__sec .make-otos__sectitle { overflow-wrap: normal !important; word-break: normal !important; hyphens: manual; display: block; min-width: 0; max-width: 100%; overflow: hidden; }

/* v0.50.0 — 1to1s dashboard: "How it works" map, per seniority */
.make-otomap { margin: 18px 0 26px; padding: 22px 24px; border-radius: 22px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.08); display: flex; flex-direction: column; gap: 16px; }
.make-otomap__head { display: flex; flex-direction: column; gap: 6px; }
.make-otomap__eyebrow { font: 700 11px/1 var(--make-sans); letter-spacing: .14em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-otomap__intro { margin: 0 !important; font: 500 15px/1.45 var(--make-sans); color: var(--make-ink); max-width: 70ch; text-wrap: pretty; }
.make-otomap__rows { display: flex; flex-direction: column; }
.make-otomap__row { display: grid; grid-template-columns: 120px 130px minmax(0, 1fr) 130px; gap: 10px; align-items: stretch; padding: 14px 0; }
.make-otomap__row + .make-otomap__row { border-top: 1px dashed rgba(31,37,43,.14); }
.make-otomap__who { display: flex; flex-direction: column; justify-content: center; gap: 6px; font: 800 15px/1.1 var(--make-display); color: var(--make-ink); }
.make-otomap__you { align-self: flex-start; font: 700 10.5px/1 var(--make-sans); letter-spacing: .06em; text-transform: uppercase; padding: 4px 8px; border-radius: 999px; background: var(--make-ink); color: #fff; }
.make-otomap__fb { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 12px; border-radius: 14px; text-align: center; background: color-mix(in srgb, #ff27e1 9%, #fff); border: 1.5px solid color-mix(in srgb, #ff27e1 45%, transparent); color: var(--make-ink); }
.make-otomap__fb strong { font: 800 15px/1.1 var(--make-display); }
.make-otomap__fb span, .make-otomap__oto span { font: 500 12px/1.3 var(--make-sans); color: rgba(31,37,43,.7); text-wrap: balance; }
.make-otomap__mid { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.make-otomap__brace { position: relative; height: 18px; margin: 0 4px; border: 1.5px solid rgba(31,37,43,.25); border-bottom: 0; border-radius: 8px 8px 0 0; display: flex; justify-content: center; }
.make-otomap__brace span { position: relative; top: -9px; padding: 0 10px; background: var(--make-paper); font: 700 12px/1.3 var(--make-sans); color: var(--make-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.make-otomap__otos { display: flex; gap: 8px; flex: 1; }
.make-otomap__oto { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; padding: 12px 8px; border-radius: 14px; text-align: center; background: color-mix(in srgb, var(--make-blue) 7%, #fff); border: 1.5px solid color-mix(in srgb, var(--make-blue) 35%, transparent); }
.make-otomap__oto strong { font: 800 15px/1.1 var(--make-display); color: var(--make-blue); }
.make-otomap__oto--opt { background: transparent; border: 1.5px dashed rgba(31,37,43,.28); }
.make-otomap__oto--opt strong { color: var(--make-ink); }
.make-otomap__oto--wide { flex-basis: 100%; }
.make-otomap__star { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--make-ink); color: #fff; font-size: 11px; line-height: 1; }
.make-otomap__oto .make-otomap__star { position: absolute; top: -9px; right: -7px; }
.make-otomap__note { margin: 0 !important; display: flex; align-items: center; gap: 8px; font: 500 13px/1.3 var(--make-sans); color: rgba(31,37,43,.7); }
.make-otomap__keys { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px 28px; }
.make-otomap__key { margin: 0 !important; padding-left: 14px; font: 500 13.5px/1.5 var(--make-sans); color: var(--make-ink); text-wrap: pretty; position: relative; }
.make-otomap__key::before { content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: 3px; border-radius: 3px; background: #ff27e1; }
.make-otomap__key--oto::before { background: var(--make-blue); }
@media (max-width: 900px) {
  .make-otomap__row { grid-template-columns: 1fr 1fr; }
  .make-otomap__who { grid-column: 1 / -1; flex-direction: row; align-items: center; }
  .make-otomap__mid { grid-column: 1 / -1; grid-row: 3; }
  .make-otomap__otos { flex-wrap: wrap; }
  .make-otomap__oto { flex: 1 1 90px; }
}

/* v0.50.1 — 1to1s "How it works": compact, one track at a time, details on hover */
.make-otm { position: relative; margin: 16px 0 24px; padding: 16px 18px 14px; border-radius: 20px; background: var(--make-paper); border: 1px solid rgba(31,37,43,.08); display: flex; flex-direction: column; gap: 12px; }
.make-otm__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.make-otm__eyebrow { font: 700 11px/1 var(--make-sans); letter-spacing: .14em; text-transform: uppercase; color: rgba(31,37,43,.6); }
.make-otm__tabs { position: relative; display: inline-flex; padding: 3px; border-radius: 999px; background: rgba(31,37,43,.06); }
.make-otm__pill { position: absolute; top: 3px; bottom: 3px; left: 0; border-radius: 999px; background: var(--make-ink); transition: transform .35s cubic-bezier(.2,.8,.2,1), width .35s cubic-bezier(.2,.8,.2,1); }
.make-otm__tab { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; padding: 6px 12px; border-radius: 999px; font: 700 12.5px/1 var(--make-sans); color: var(--make-ink); cursor: pointer; transition: color .25s ease; }
.make-otm__tab.is-on { color: #fff; }
.make-otm__you { font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; padding: 2px 6px; border-radius: 999px; background: var(--make-cyan, #43e7f9); color: var(--make-ink); }
.make-otm__track { display: grid; grid-template-columns: 92px minmax(0, 1fr) 92px; gap: 6px; align-items: end; }
.make-otm__track[hidden] { display: none; }
.make-otm__mid { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.make-otm__otos { display: flex; gap: 6px; }
.make-otm__b { position: relative; flex: 1 1 0; min-width: 0; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px; border: 1.5px solid transparent; font: 800 13.5px/1 var(--make-display); cursor: help; transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, opacity .25s ease, background-color .25s ease; }
.make-otm__b span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 6px; }
.make-otm__b--fb { color: var(--make-ink); background: color-mix(in srgb, #ff27e1 10%, #fff); border-color: color-mix(in srgb, #ff27e1 50%, transparent); }
.make-otm__b--oto, .make-otm__b--wide { color: var(--make-blue); background: color-mix(in srgb, var(--make-blue) 7%, #fff); border-color: color-mix(in srgb, var(--make-blue) 35%, transparent); }
.make-otm__b--opt { color: var(--make-ink); background: transparent; border: 1.5px dashed rgba(31,37,43,.3); }
.make-otm__star { position: absolute; top: -7px; right: -5px; width: 16px; height: 16px; border-radius: 50%; background: var(--make-ink); color: #fff; font: normal 9px/16px var(--make-sans); text-align: center; }
.make-otm__brace { position: relative; height: 14px; margin: 0 2px; padding: 0; border: 1.5px solid rgba(31,37,43,.25); border-bottom: 0; border-radius: 7px 7px 0 0; background: transparent; cursor: help; display: flex; justify-content: center; transition: border-color .25s ease; }
.make-otm__brace span { position: relative; top: -8px; padding: 0 8px; background: var(--make-paper); font: 700 11.5px/1.2 var(--make-sans); color: var(--make-ink); white-space: nowrap; }
.make-otm.has-hot .make-otm__b:not(.is-hot) { opacity: .45; }
.make-otm__b.is-hot { transform: translateY(-3px); box-shadow: 0 8px 18px -8px rgba(31,37,43,.35); opacity: 1; }
.make-otm__b--fb.is-hot { background: #ff27e1; color: #fff; }
.make-otm__b--oto.is-hot, .make-otm__b--wide.is-hot { background: var(--make-blue); color: #fff; }
.make-otm__b--opt.is-hot { border-style: solid; border-color: var(--make-ink); background: #fff; }
.make-otm__brace.is-hot { border-color: var(--make-blue); }
.make-otm.has-hot .make-otm__brace.is-hot ~ .make-otm__otos .make-otm__b { opacity: 1; }
.make-otm__b:focus-visible, .make-otm__brace:focus-visible, .make-otm__tab:focus-visible { outline: 2px solid var(--make-blue); outline-offset: 2px; }
.make-otm__detail { position: relative; min-height: 44px; padding: 10px 12px; border-radius: 12px; background: rgba(31,37,43,.04); overflow: hidden; }
.make-otm__dtxt { left: 12px; right: 12px; top: 10px; display: flex; flex-direction: column; gap: 2px; font: 500 13px/1.45 var(--make-sans); color: rgba(31,37,43,.75); text-wrap: pretty; }
.make-otm__dtxt strong { font: 800 13.5px/1.3 var(--make-display); color: var(--make-ink); }
@media (max-width: 760px) { .make-otm__track { grid-template-columns: 70px minmax(0, 1fr) 70px; } .make-otm__b { height: 40px; font-size: 12px; } .make-otm__brace span { font-size: 10.5px; } }
@media (prefers-reduced-motion: reduce) { .make-otm__b, .make-otm__pill { transition: none; } }

/* v0.50.2 — How it works: only one explanation at a time (fix stacked texts on quick hovers) */
.make-otm__dtxt.is-out { position: absolute !important; left: 12px; right: 12px; top: 10px; }
