.aulapress-campus {
    --aulapress-bg: #f4f7fb;
    --aulapress-surface: #ffffff;
    --aulapress-text: #162033;
    --aulapress-muted: #667085;
    --aulapress-border: #d9deea;
    --aulapress-accent: #356f9f;
    --aulapress-accent-soft: #edf4f8;
    --aulapress-ok: #047857;
    --aulapress-danger: #b42318;
    background: var(--aulapress-bg);
    color: var(--aulapress-text);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    box-shadow: 0 18px 48px rgba(22, 32, 51, 0.08);
    padding: 24px;
}

.aulapress-campus__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.aulapress-campus__title {
    font-size: 24px;
    line-height: 1.2;
    margin: 0 0 6px;
}

.aulapress-campus__subtitle {
    color: var(--aulapress-muted);
    margin: 0;
}

.aulapress-course-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.aulapress-course-card,
.aulapress-certificate-card {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(22, 32, 51, 0.06);
    padding: 18px;
}

.aulapress-course-card {
    display: grid;
    gap: 10px;
    min-height: 190px;
    text-align: left;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    width: 100%;
}

.aulapress-course-card h3,
.aulapress-certificate-card h3 {
    font-size: 18px;
    margin: 0 0 8px;
}

.aulapress-course-card p,
.aulapress-certificate-card p {
    color: var(--aulapress-muted);
    margin: 0;
}

.aulapress-course-dates {
    display: grid;
    gap: 6px;
    margin: 12px 0;
}

.aulapress-course-date {
    border-radius: 6px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 8px;
}

.aulapress-course-date--open {
    background: #ecfdf3;
    color: #047857;
}

.aulapress-course-date--close {
    background: #fef3f2;
    color: #b42318;
}

.aulapress-academic-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.aulapress-academic-summary span {
    background: #f6f7fb;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    display: inline-flex;
    gap: 4px;
    font-size: 12px;
    padding: 6px 8px;
}

.aulapress-academic-summary strong {
    color: var(--aulapress-muted);
}

.aulapress-academic-detail {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 14px 0 0;
}

.aulapress-academic-detail div {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(217, 222, 234, 0.9);
    border-radius: 6px;
    padding: 8px 10px;
}

.aulapress-academic-detail dt {
    color: var(--aulapress-muted);
    font-size: 11px;
    font-weight: 700;
    margin: 0 0 2px;
    text-transform: uppercase;
}

.aulapress-academic-detail dd {
    color: var(--aulapress-text);
    font-size: 13px;
    font-weight: 700;
    margin: 0;
}

.aulapress-certificate-card p + p {
    margin-top: 6px;
}

.aulapress-certificate-link {
    color: var(--aulapress-accent);
    font-weight: 700;
}

.aulapress-verifier {
    background: #f6f7fb;
    border: 1px solid #d9deea;
    border-radius: 8px;
    color: #162033;
    padding: 24px;
}

.aulapress-verifier button {
    background: #356f9f;
    border: 0;
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    padding: 10px 14px;
}

.aulapress-verifier__valid,
.aulapress-verifier__invalid {
    background: #ffffff;
    border: 1px solid #d9deea;
    border-radius: 8px;
    margin-top: 18px;
    padding: 18px;
}

.aulapress-verifier__valid {
    border-color: #047857;
}

.aulapress-verifier__invalid {
    border-color: #b42318;
}

.aulapress-verifier dl {
    display: grid;
    gap: 8px 16px;
    grid-template-columns: minmax(120px, 220px) 1fr;
    margin: 0;
}

.aulapress-verifier dt {
    color: #667085;
    font-weight: 700;
}

.aulapress-login form {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    max-width: 420px;
    padding: 18px;
}

.aulapress-login label {
    color: var(--aulapress-muted);
    font-size: 13px;
    font-weight: 700;
}

.aulapress-login input[type="text"],
.aulapress-login input[type="password"] {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    box-sizing: border-box;
    display: block;
    margin-top: 6px;
    min-height: 40px;
    padding: 8px 10px;
    width: 100%;
}

.aulapress-login input[type="submit"] {
    background: var(--aulapress-accent);
    border: 0;
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    min-height: 40px;
    padding: 9px 14px;
}

.aulapress-login__links {
    margin: 12px 0 0;
}

.aulapress-verifier dd {
    margin: 0;
}

.aulapress-progress {
    margin-top: 14px;
}

.aulapress-progress__track {
    background: #e8ecf5;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.aulapress-progress__bar {
    background: var(--aulapress-accent);
    height: 100%;
    min-width: 0;
    transition: width 180ms ease;
}

.aulapress-progress__label {
    color: var(--aulapress-muted);
    display: block;
    font-size: 13px;
    margin-top: 6px;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-course-card:hover {
        background: var(--aulapress-surface);
        border-color: #c7d0dd;
        box-shadow: 0 8px 18px rgba(22, 32, 51, 0.08);
        color: var(--aulapress-text);
        transform: translateY(-1px);
    }
}

.aulapress-course-view {
    align-items: start;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.aulapress-course-view__sidebar,
.aulapress-course-view__lesson,
.aulapress-help-panel {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(22, 32, 51, 0.06);
    padding: 16px;
}

.aulapress-course-view__sidebar {
    background: var(--aulapress-surface);
    bottom: 0;
    border-radius: 0 8px 8px 0;
    left: 0;
    max-height: 100vh;
    overflow-y: auto;
    position: fixed;
    top: 0;
    width: min(380px, calc(100vw - 44px));
    z-index: 1202;
}

.aulapress-content-drawer {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1200;
}

.aulapress-content-drawer__backdrop {
    appearance: none;
    background: rgba(255, 255, 255, 0.02);
    border: 0;
    box-shadow: none;
    bottom: 0;
    cursor: pointer;
    left: 0;
    outline: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.aulapress-content-drawer__backdrop:hover,
.aulapress-content-drawer__backdrop:focus {
    background: rgba(255, 255, 255, 0.02);
    box-shadow: none;
    outline: 0;
}

.aulapress-content-drawer__header {
    align-items: center;
    border-bottom: 1px solid var(--aulapress-border);
    display: flex;
    justify-content: space-between;
    margin: -16px -16px 12px;
    padding: 12px 16px;
    position: sticky;
    top: 0;
    background: var(--aulapress-surface);
    z-index: 1;
}

.aulapress-content-drawer__header button {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    cursor: pointer;
    padding: 7px 10px;
}

.aulapress-course-view__lesson {
    min-width: 0;
    padding: 24px;
}

.aulapress-course-view__main {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.aulapress-course-view__lesson h2 {
    font-size: 28px;
    line-height: 1.2;
    margin: 0 0 16px;
    overflow-wrap: anywhere;
}

.aulapress-course-view__lesson img,
.aulapress-course-view__lesson video,
.aulapress-course-view__lesson iframe {
    max-width: 100%;
}

.aulapress-lesson-context {
    align-items: center;
    color: var(--aulapress-muted);
    display: flex;
    font-size: 12px;
    font-weight: 700;
    gap: 6px;
    line-height: 1.35;
    margin: 0 0 7px;
    min-width: 0;
    white-space: nowrap;
}

.aulapress-lesson-context span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.aulapress-lesson-module-title {
    color: var(--aulapress-accent);
    font-size: 13px;
    font-weight: 800;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.aulapress-completion-panel {
    background: transparent;
    border: 0;
    border-radius: 8px;
    padding: 0;
}

.aulapress-completion-panel h3 {
    margin: 0 0 10px;
}

.aulapress-completion-rule {
    align-items: center;
    border-top: 1px solid var(--aulapress-border);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 8px 0;
}

.aulapress-completion-rule:first-of-type {
    border-top: 0;
}

.aulapress-completion-rule strong {
    color: var(--aulapress-muted);
    font-size: 13px;
    text-align: right;
}

.aulapress-completion-rule.is-ok span::before {
    color: #047857;
    content: "OK ";
}

.aulapress-completion-rule.is-pending span::before {
    color: #b42318;
    content: "Pendiente ";
}

.aulapress-online-panel {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    padding: 16px;
}

.aulapress-online-panel__header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.aulapress-online-panel h3,
.aulapress-online-session h4 {
    margin: 0 0 6px;
}

.aulapress-online-panel p,
.aulapress-online-session p,
.aulapress-online-empty {
    color: var(--aulapress-muted);
    margin: 0;
}

.aulapress-online-panel__header strong {
    background: #ecfdf3;
    border-radius: 999px;
    color: #047857;
    flex: 0 0 auto;
    padding: 6px 10px;
}

.aulapress-online-summary {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 14px 0;
}

.aulapress-online-summary span {
    background: #f6f7fb;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    font-size: 13px;
    padding: 8px 10px;
}

.aulapress-online-list {
    display: grid;
    gap: 10px;
}

.aulapress-online-session {
    align-items: center;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px;
}

.aulapress-online-session.is-active {
    border-color: #047857;
}

.aulapress-online-session__actions {
    min-width: 150px;
}

.aulapress-online-join,
.aulapress-online-leave {
    border: 1px solid var(--aulapress-accent);
    border-radius: 6px;
    cursor: pointer;
    padding: 8px 12px;
    width: 100%;
}

.aulapress-online-join {
    background: var(--aulapress-accent);
    color: #ffffff;
}

.aulapress-online-leave {
    background: #ffffff;
    border-color: #b42318;
    color: #b42318;
}

.aulapress-online-join:disabled {
    background: #eef1f7;
    border-color: var(--aulapress-border);
    color: var(--aulapress-muted);
    cursor: not-allowed;
}

.aulapress-lesson-button,
.aulapress-back-button,
.aulapress-complete-button,
.aulapress-nav-button,
.aulapress-tool-button,
.aulapress-help-panel button {
    border: 1px solid var(--aulapress-border);
    background: var(--aulapress-surface);
    border-radius: 6px;
    color: var(--aulapress-text);
    cursor: pointer;
}

.aulapress-web-return {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    white-space: nowrap;
}

.aulapress-notification-badge {
    background: #b42318;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    line-height: 1;
    margin-left: 4px;
    min-width: 18px;
    padding: 3px 5px;
}

.aulapress-module {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    margin-top: 10px;
    overflow: hidden;
}

.aulapress-module:first-child {
    margin-top: 0;
}

.aulapress-module.is-active {
    border-color: var(--aulapress-accent);
    box-shadow: 0 10px 28px rgba(37, 99, 235, 0.12);
}

.aulapress-module__header {
    align-items: center;
    background: #ffffff;
    border: 0;
    color: var(--aulapress-text);
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: 12px;
    text-align: left;
    width: 100%;
}

.aulapress-module__header:disabled {
    cursor: default;
    opacity: 0.65;
}

.aulapress-module__number {
    align-items: center;
    background: #eef2f7;
    border-radius: 999px;
    color: var(--aulapress-text);
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.aulapress-module.is-active .aulapress-module__number {
    background: var(--aulapress-accent);
    color: #ffffff;
}

.aulapress-module__copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.aulapress-module__copy strong,
.aulapress-lesson-button__text {
    overflow-wrap: anywhere;
}

.aulapress-module__copy small,
.aulapress-module__percent,
.aulapress-lesson-button__meta {
    color: var(--aulapress-muted);
    font-size: 12px;
    font-weight: 700;
}

.aulapress-module__track {
    background: #e8ecf5;
    height: 4px;
    overflow: hidden;
}

.aulapress-module__track span {
    background: var(--aulapress-accent);
    display: block;
    height: 100%;
    transition: width 180ms ease;
}

.aulapress-module__lessons {
    display: grid;
}

.aulapress-module__empty {
    color: var(--aulapress-muted);
    font-size: 13px;
    margin: 0;
    padding: 10px 12px;
}

.aulapress-lesson-button {
    align-items: center;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    border-top: 1px solid var(--aulapress-border);
    display: grid;
    gap: 9px;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    margin: 0;
    min-height: 44px;
    padding: 9px 12px;
    text-align: left;
    width: 100%;
}

.aulapress-lesson-button.is-active {
    background: var(--aulapress-accent-soft);
    box-shadow: inset 3px 0 0 var(--aulapress-accent);
    color: var(--aulapress-accent);
}

.aulapress-lesson-button__status {
    border: 2px solid #b8c2d6;
    border-radius: 999px;
    height: 12px;
    width: 12px;
}

.aulapress-lesson-button.is-active .aulapress-lesson-button__status {
    border-color: var(--aulapress-accent);
}

.aulapress-lesson-button.is-completed .aulapress-lesson-button__status {
    background: var(--aulapress-ok);
    border-color: var(--aulapress-ok);
    box-shadow: inset 0 0 0 3px #ffffff;
}

.aulapress-lesson-button.is-completed .aulapress-lesson-button__meta {
    color: var(--aulapress-ok);
}

.aulapress-lesson-button--quiz .aulapress-lesson-button__status {
    background: #fff7ed;
    border-color: #f59e0b;
    border-radius: 4px;
}

.aulapress-lesson-button--quiz.is-active .aulapress-lesson-button__status {
    background: #f59e0b;
    border-color: #f59e0b;
}

.aulapress-back-button,
.aulapress-complete-button,
.aulapress-nav-button,
.aulapress-tool-button,
.aulapress-help-panel button {
    padding: 8px 12px;
}

.aulapress-back-button,
.aulapress-tool-button,
.aulapress-nav-button {
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-back-button:hover,
    .aulapress-tool-button:hover,
    .aulapress-nav-button:hover:not(:disabled) {
        background: #f7f9fc;
        border-color: #c7d0dd;
        color: var(--aulapress-text);
    }
}

.aulapress-complete-button {
    background: var(--aulapress-accent);
    border-color: var(--aulapress-accent);
    color: #ffffff;
}

.aulapress-nav-button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.aulapress-course-toolbar,
.aulapress-lesson-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.aulapress-course-toolbar {
    align-items: center;
    justify-content: space-between;
}

.aulapress-course-toolbar__group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.aulapress-next-event {
    background: #f8fbff;
    border: 1px solid #c7ddff;
    border-radius: 8px;
    margin-top: 12px;
    max-width: 720px;
    overflow: hidden;
}

.aulapress-next-event summary {
    cursor: pointer;
    display: grid;
    gap: 4px;
    list-style: none;
    padding: 12px 14px;
}

.aulapress-next-event summary::-webkit-details-marker {
    display: none;
}

.aulapress-next-event span,
.aulapress-next-event em {
    color: var(--aulapress-muted);
    font-size: 13px;
    font-style: normal;
}

.aulapress-next-event strong {
    color: var(--aulapress-accent);
    font-size: 16px;
}

.aulapress-next-event div {
    border-top: 1px solid #c7ddff;
    padding: 10px 14px 12px;
}

.aulapress-next-event p {
    margin: 0 0 8px;
}

.aulapress-lesson-actions {
    border-top: 1px solid var(--aulapress-border);
    margin-top: 20px;
    padding-top: 16px;
}

.aulapress-help-panel,
.aulapress-quiz-panel,
.aulapress-forum-panel {
    align-self: start;
}

.aulapress-notes-panel {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    bottom: 92px;
    box-shadow: 0 18px 42px rgba(22, 32, 51, 0.16);
    left: 50%;
    max-height: calc(100vh - 132px);
    overflow-y: auto;
    padding: 16px;
    position: fixed;
    transform: translateX(-50%);
    width: min(420px, calc(100vw - 48px));
    z-index: 1000;
}

.aulapress-help-panel h3,
.aulapress-notes-panel h3,
.aulapress-quiz-panel h3,
.aulapress-forum-panel h3 {
    font-size: 16px;
    margin: 0 0 10px;
}

.aulapress-help-panel button,
.aulapress-notes-panel button,
.aulapress-quiz-panel button {
    display: block;
    margin: 8px 0;
    text-align: left;
    width: 100%;
}

.aulapress-help-panel p {
    color: var(--aulapress-muted);
    font-size: 13px;
    margin: 12px 0 0;
}

.aulapress-help-tabs {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 12px;
    overflow-x: auto;
}

.aulapress-help-tabs button {
    align-items: center;
    display: flex;
    font-size: clamp(10px, 2.8vw, 12px);
    justify-content: center;
    margin: 0;
    min-height: 38px;
    min-width: 0;
    padding: 7px 5px;
    text-align: center;
    white-space: nowrap;
    width: auto;
}

.aulapress-help-tabs button.is-active {
    border-color: var(--aulapress-accent);
    color: var(--aulapress-accent);
    font-weight: 700;
}

.aulapress-support-form {
    border-top: 1px solid var(--aulapress-border);
    display: grid;
    gap: 10px;
    padding-top: 12px;
}

.aulapress-support-form label {
    display: grid;
    gap: 6px;
}

.aulapress-support-form span {
    color: var(--aulapress-muted);
    font-size: 13px;
    font-weight: 700;
}

.aulapress-support-form input,
.aulapress-support-form select,
.aulapress-support-form textarea {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    box-sizing: border-box;
    color: var(--aulapress-text);
    padding: 8px 10px;
    width: 100%;
}

.aulapress-support-form textarea {
    resize: vertical;
}

.aulapress-support-form button {
    background: var(--aulapress-accent);
    border-color: var(--aulapress-accent);
    color: #ffffff;
}

.aulapress-support-history {
    border-top: 1px solid var(--aulapress-border);
    margin-top: 14px;
    padding-top: 12px;
}

.aulapress-support-history h4 {
    margin: 0 0 8px;
}

.aulapress-support-thread {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    margin-top: 8px;
    padding: 10px;
}

.aulapress-support-thread.is-unread {
    border-color: var(--aulapress-accent);
}

.aulapress-support-thread span {
    color: var(--aulapress-muted);
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.aulapress-support-thread blockquote {
    background: #f6f7fb;
    border-left: 3px solid var(--aulapress-accent);
    margin: 10px 0 0;
    padding: 8px 10px;
}

.aulapress-forum-panel {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    padding: 16px;
}

.aulapress-forum-layout {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
}

.aulapress-private-groups {
    background: #ecfdf3;
    border: 1px solid #abefc6;
    border-radius: 6px;
    color: #047857;
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
    padding: 9px 10px;
}

.aulapress-private-groups span {
    color: #047857;
    font-size: 13px;
}

.aulapress-forum-list,
.aulapress-topic-list {
    min-width: 0;
}

.aulapress-forum-list h4,
.aulapress-topic-list h4 {
    margin: 0 0 8px;
}

.aulapress-forum-list button,
.aulapress-forum-topic button {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    cursor: pointer;
    display: block;
    margin: 8px 0;
    padding: 9px 10px;
    text-align: left;
    width: 100%;
}

.aulapress-forum-list button.is-active,
.aulapress-forum-topic.is-pinned {
    border-color: var(--aulapress-accent);
}

.aulapress-forum-list span,
.aulapress-forum-topic span,
.aulapress-topic-reply span {
    color: var(--aulapress-muted);
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.aulapress-forum-form,
.aulapress-topic-form,
.aulapress-reply-form {
    border-top: 1px solid var(--aulapress-border);
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
}

.aulapress-forum-form input,
.aulapress-forum-form textarea,
.aulapress-topic-form input,
.aulapress-topic-form textarea,
.aulapress-reply-form textarea {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    box-sizing: border-box;
    color: var(--aulapress-text);
    padding: 8px 10px;
    width: 100%;
}

.aulapress-forum-form button,
.aulapress-topic-form button,
.aulapress-reply-form button {
    background: var(--aulapress-accent);
    border: 1px solid var(--aulapress-accent);
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    padding: 8px 12px;
}

.aulapress-forum-topic {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    margin-top: 10px;
    padding: 10px;
}

.aulapress-forum-topic > p,
.aulapress-topic-list > p {
    color: var(--aulapress-muted);
    margin: 8px 0;
}

.aulapress-topic-replies {
    border-top: 1px solid var(--aulapress-border);
    margin-top: 10px;
    padding-top: 10px;
}

.aulapress-topic-reply {
    background: #f6f7fb;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    margin-top: 8px;
    padding: 8px 10px;
}

.aulapress-topic-reply p {
    margin: 8px 0 0;
}

.aulapress-notes-panel input,
.aulapress-notes-panel textarea,
.aulapress-notes-panel select,
.aulapress-note-editor,
.aulapress-profile-form select {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    box-sizing: border-box;
    color: var(--aulapress-text);
    display: block;
    margin-bottom: 8px;
    padding: 8px 10px;
    width: 100%;
}

.aulapress-notes-panel textarea {
    resize: vertical;
}

.aulapress-notes-panel input[type="hidden"] {
    display: none;
}

.aulapress-note-save-status {
    color: var(--aulapress-muted);
    font-size: 12px;
    font-weight: 700;
    margin: -2px 0 10px;
}

.aulapress-notes-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.aulapress-notes-toolbar button,
.aulapress-notes-panel .aulapress-notes-toolbar button,
.aulapress-notes-toolbar select {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    margin: 0;
    min-height: 34px;
    padding: 6px 9px;
    text-align: center;
    width: auto;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-notes-toolbar button:hover,
    .aulapress-notes-toolbar select:hover {
        background: #f7f9fc;
        border-color: #c7d0dd;
        color: var(--aulapress-text);
    }
}

.aulapress-marker-palette {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.aulapress-marker-palette button,
.aulapress-notes-panel .aulapress-marker-palette button {
    background: var(--marker, #ffffff);
    border-color: rgba(22, 32, 51, 0.14);
    color: #162033;
}

.aulapress-note-editor {
    background: #ffffff;
    line-height: 1.55;
    margin-bottom: 10px;
    max-height: 340px;
    min-height: 180px;
    overflow-y: auto;
    padding: 10px;
}

.aulapress-note-editor:empty::before {
    color: var(--aulapress-muted);
    content: 'Escribe tus apuntes...';
}

.aulapress-note-editor a {
    color: var(--aulapress-accent);
    font-weight: 700;
}

.aulapress-note-editor h1,
.aulapress-note-editor h2,
.aulapress-note-editor h3,
.aulapress-note-editor h4 {
    line-height: 1.2;
    margin: 12px 0 6px;
}

.aulapress-notes-panel button {
    background: var(--aulapress-accent);
    border-color: var(--aulapress-accent);
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    padding: 8px 12px;
}

.aulapress-notes-list {
    border-top: 1px solid var(--aulapress-border);
    margin-top: 14px;
    padding-top: 12px;
}

.aulapress-notes-list h4 {
    margin: 0 0 8px;
}

.aulapress-notes-list div {
    border-bottom: 1px solid var(--aulapress-border);
    padding: 8px 0;
}

.aulapress-notes-list span {
    color: var(--aulapress-muted);
    display: block;
    font-size: 12px;
}

.aulapress-downloads-panel {
    border-top: 1px solid var(--aulapress-border);
    margin-top: 20px;
    padding-top: 16px;
}

.aulapress-downloads-panel h3 {
    font-size: 16px;
    margin: 0 0 10px;
}

.aulapress-downloads-list {
    display: grid;
    gap: 10px;
}

.aulapress-download-card {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px;
}

.aulapress-download-card h4 {
    margin: 0 0 4px;
}

.aulapress-download-card p {
    color: var(--aulapress-muted);
    margin: 0 0 6px;
}

.aulapress-download-card span,
.aulapress-download-card a:not(.aulapress-download-button) {
    color: var(--aulapress-muted);
    display: block;
    font-size: 12px;
}

.aulapress-download-button {
    background: var(--aulapress-accent);
    border-radius: 6px;
    color: #ffffff;
    font-weight: 700;
    padding: 8px 12px;
    text-decoration: none;
    white-space: nowrap;
}

.aulapress-quiz-form {
    border-top: 1px solid var(--aulapress-border);
    margin-top: 14px;
    padding-top: 12px;
}

.aulapress-quiz-form fieldset {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    margin: 10px 0;
    padding: 10px;
}

.aulapress-quiz-form label {
    display: block;
    margin: 8px 0;
}

.aulapress-quiz-resource {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    margin: 12px 0;
    padding: 10px;
}

.aulapress-quiz-resource audio,
.aulapress-quiz-resource video,
.aulapress-quiz-resource img {
    max-width: 100%;
}

.aulapress-quiz-resource--embed {
    aspect-ratio: 16 / 9;
    padding: 0;
    overflow: hidden;
}

.aulapress-quiz-resource iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.aulapress-quiz-text-answer,
.aulapress-match-row select {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    box-sizing: border-box;
    display: block;
    margin-top: 6px;
    padding: 8px 10px;
    width: 100%;
}

.aulapress-match-row {
    border-bottom: 1px solid var(--aulapress-border);
    padding: 8px 0;
}

.aulapress-match-media-answer {
    border-bottom: 1px solid var(--aulapress-border);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr);
    padding: 10px 0;
}

.aulapress-match-media-options {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    margin: 10px 0 14px;
}

.aulapress-match-media-option {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    padding: 8px;
}

.aulapress-match-media-option strong {
    display: block;
    margin-bottom: 6px;
}

.aulapress-match-media-answer select {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    box-sizing: border-box;
    padding: 8px 10px;
    width: 100%;
}

.aulapress-match-media-answer__left {
    align-items: center;
    display: flex;
    min-height: 44px;
}

.aulapress-match-media-image {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    display: block;
    height: auto;
    max-height: 180px;
    max-width: 100%;
    object-fit: contain;
}

.aulapress-match-media-audio,
.aulapress-match-media-video {
    display: block;
    max-width: 100%;
    width: 100%;
}

.aulapress-match-media-video {
    background: #101820;
    border-radius: 8px;
    max-height: 220px;
}

.aulapress-match-media-text {
    color: var(--aulapress-text);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.aulapress-quiz-result {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    margin-top: 12px;
    padding: 10px;
}

.aulapress-video-checkpoint {
    margin: 14px 0;
    padding: 14px;
    border: 2px solid #356f9f;
    border-radius: 12px;
    background: #f4f8ff;
}

.aulapress-video-checkpoint__feedback {
    margin: 10px 0;
    font-weight: 700;
}

.aulapress-video-checkpoint__feedback.is-correct { color: #16794c; }
.aulapress-video-checkpoint__feedback.is-incorrect { color: #b42318; }

.aulapress-interactive-video { margin: 18px 0; }
.aulapress-interactive-video__player { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 12px; background: #0b1730; }
.aulapress-interactive-video__player iframe { width: 100%; height: 100%; border: 0; }

.aulapress-quiz-result.is-passed {
    background: #ecfdf3;
    border-color: #abefc6;
    color: #047857;
}

.aulapress-quiz-result.is-failed {
    background: #fef3f2;
    border-color: #fecdca;
    color: #b42318;
}

.aulapress-quiz-result.is-manual {
    background: #fffaeb;
    border-color: #fedf89;
    color: #92400e;
}

.aulapress-quiz-result__summary {
    display: grid;
    gap: 4px;
    font-weight: 700;
}

.aulapress-quiz-result__summary span {
    font-size: 13px;
    font-weight: 600;
}

.aulapress-quiz-result__details {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.aulapress-quiz-result__item {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 6px;
    color: var(--aulapress-text);
    display: grid;
    gap: 6px;
    padding: 10px;
}

.aulapress-quiz-result__item > div {
    display: grid;
    gap: 3px;
}

.aulapress-quiz-result__item span {
    color: var(--aulapress-muted);
    font-size: 13px;
    font-weight: 700;
}

.aulapress-quiz-result__item p {
    margin: 0;
}

.aulapress-quiz-result__item.is-correct {
    border-left: 4px solid #12b76a;
}

.aulapress-quiz-result__item.is-incorrect {
    border-left: 4px solid #f04438;
}

.aulapress-quiz-result__item.is-manual {
    border-left: 4px solid #f79009;
}

.aulapress-quiz-result__explanation {
    color: var(--aulapress-muted);
    font-size: 13px;
    font-weight: 600;
}

.aulapress-overlay {
    align-items: center;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 24px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1100;
}

.aulapress-overlay__backdrop {
    appearance: none;
    background: rgba(255, 255, 255, 0.02);
    border: 0;
    box-shadow: none;
    bottom: 0;
    cursor: pointer;
    left: 0;
    outline: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.aulapress-overlay__backdrop:hover,
.aulapress-overlay__backdrop:focus {
    background: rgba(255, 255, 255, 0.02);
    box-shadow: none;
    outline: 0;
}

.aulapress-overlay__surface {
    max-height: min(760px, calc(100vh - 48px));
    max-width: min(1080px, calc(100vw - 48px));
    overflow-y: auto;
    position: relative;
    width: 100%;
    z-index: 1;
}

.aulapress-tool-panel {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
    padding: 18px;
}

.aulapress-tool-panel__header,
.aulapress-chat-panel__actions {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
}

.aulapress-tool-panel__header {
    border-bottom: 1px solid var(--aulapress-border);
    margin-bottom: 16px;
    padding-bottom: 14px;
}

.aulapress-tool-panel__header h3,
.aulapress-tool-panel__header p {
    margin: 0;
}

.aulapress-tool-panel__header p {
    color: var(--aulapress-muted);
    font-size: 13px;
    margin-top: 4px;
}

.aulapress-panel-close {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    cursor: pointer;
    flex: 0 0 auto;
    padding: 8px 12px;
    width: auto;
}

.aulapress-chat-panel__actions {
    align-items: center;
    flex: 0 0 auto;
    justify-content: flex-end;
}

.aulapress-chat-panel__actions button {
    white-space: nowrap;
}

.aulapress-help-panel .aulapress-panel-close,
.aulapress-quiz-panel .aulapress-panel-close,
.aulapress-forum-panel .aulapress-panel-close {
    display: inline-flex;
    margin: 0;
    text-align: center;
    width: auto;
}

.aulapress-quiz-workspace {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
}

.aulapress-quiz-list {
    background: #f8fafc;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    align-self: start;
    padding: 10px;
}

.aulapress-quiz-list button {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    color: var(--aulapress-text);
    cursor: pointer;
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 10px;
    text-align: left;
    width: 100%;
}

.aulapress-quiz-list button.is-active {
    border-color: var(--aulapress-accent);
    box-shadow: inset 3px 0 0 var(--aulapress-accent);
}

.aulapress-quiz-list span {
    color: var(--aulapress-muted);
    font-size: 12px;
    font-weight: 800;
}

.aulapress-quiz-stage {
    min-width: 0;
}

.aulapress-quiz-form {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    margin-top: 0;
    padding: 16px;
}

.aulapress-quiz-form h4 {
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 12px;
}

.aulapress-quiz-form fieldset {
    background: #f8fafc;
    border-radius: 8px;
    padding: 14px;
}

.aulapress-quiz-form legend {
    color: var(--aulapress-text);
    font-weight: 800;
    padding: 0 6px;
}

.aulapress-quiz-form legend span {
    color: var(--aulapress-muted);
    font-size: 12px;
    font-weight: 700;
}

.aulapress-quiz-form > button[type="submit"] {
    background: var(--aulapress-accent);
    border: 1px solid var(--aulapress-accent);
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    padding: 10px 14px;
}

.aulapress-match-text-board {
    display: grid;
    gap: 14px;
}

.aulapress-match-text-options {
    background: #ffffff;
    border: 1px dashed #b8c2d6;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px;
}

.aulapress-match-text-chip {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 999px;
    color: var(--aulapress-text);
    cursor: grab;
    font-size: 13px;
    font-weight: 800;
    padding: 8px 10px;
    user-select: none;
}

.aulapress-match-text-chip.is-selected {
    background: var(--aulapress-accent-soft);
    border-color: var(--aulapress-accent);
    color: var(--aulapress-accent);
}

.aulapress-match-text-chip.is-used {
    opacity: 0.45;
}

.aulapress-match-text-pairs {
    display: grid;
    gap: 10px;
}

.aulapress-match-text-row {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.aulapress-match-text-left,
.aulapress-match-text-drop {
    align-items: center;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    display: flex;
    min-height: 48px;
    overflow-wrap: anywhere;
    padding: 10px;
}

.aulapress-match-text-left {
    background: #ffffff;
    font-weight: 800;
}

.aulapress-match-text-drop {
    background: #f8fafc;
    cursor: pointer;
    gap: 8px;
    justify-content: space-between;
}

.aulapress-match-text-drop.is-drag-over,
.aulapress-match-text-drop.has-value {
    background: var(--aulapress-accent-soft);
    border-color: var(--aulapress-accent);
}

.aulapress-match-text-drop span {
    color: var(--aulapress-muted);
    font-size: 13px;
    font-weight: 800;
}

.aulapress-match-text-drop.has-value span {
    color: var(--aulapress-accent);
}

.aulapress-match-text-drop button {
    background: transparent;
    border: 0;
    color: var(--aulapress-muted);
    cursor: pointer;
    flex: 0 0 auto;
    font-size: 12px;
    margin: 0;
    padding: 4px;
    width: auto;
}

.aulapress-chat-panel {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    padding: 16px;
}

.aulapress-community-panel {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    padding: 16px;
}

.aulapress-community-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}

.aulapress-community-tabs button {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    cursor: pointer;
    font-weight: 700;
    padding: 9px 12px;
}

.aulapress-community-tabs button.is-active {
    background: var(--aulapress-accent-soft);
    border-color: var(--aulapress-accent);
    color: var(--aulapress-accent);
}

.aulapress-alert-badge,
.aulapress-notification-badge {
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    margin-left: 4px;
    min-width: 18px;
    padding: 2px 6px;
}

.aulapress-alert-badge--private {
    background: #fef3c7;
    color: #92400e;
}

.aulapress-alert-badge--forum {
    background: #dcfce7;
    color: #166534;
}

.aulapress-alert-badge--announcement,
.aulapress-notification-badge--announcement {
    background: #fef3c7;
    color: #92400e;
}

.aulapress-alert-badge--urgent,
.aulapress-notification-badge--urgent {
    background: #fee2e2;
    color: #991b1b;
}

.aulapress-community-layout {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(190px, 250px) minmax(0, 1fr);
}

.aulapress-community-list {
    display: grid;
    gap: 8px;
    align-content: start;
}

.aulapress-community-list h4,
.aulapress-announcements h4 {
    margin: 0 0 4px;
}

.aulapress-community-list button {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    cursor: pointer;
    padding: 10px;
    text-align: left;
}

.aulapress-community-list button.is-active {
    border-color: var(--aulapress-accent);
    box-shadow: inset 3px 0 0 var(--aulapress-accent);
}

.aulapress-community-list button.is-pending {
    border-color: #f59e0b;
}

.aulapress-community-list span {
    color: var(--aulapress-muted);
    display: block;
    font-size: 12px;
}

.aulapress-forum-request {
    border: 1px dashed var(--aulapress-border);
    border-radius: 6px;
    padding: 10px;
}

.aulapress-forum-request-toggle {
    border-style: dashed;
}

.aulapress-forum-request-toggle.is-active {
    background: #fffbeb;
    border-color: #f59e0b;
    box-shadow: inset 3px 0 0 #f59e0b;
}

.aulapress-community-layout.is-requesting-forum .aulapress-community-list button:not(.aulapress-forum-request-toggle) {
    opacity: 0.55;
}

.aulapress-forum-request-panel {
    background: #fffbeb;
    border: 1px solid #fbbf24;
    border-radius: 8px;
    padding: 14px;
}

.aulapress-forum-request-panel h4 {
    margin: 0 0 10px;
}

.aulapress-forum-request-panel label {
    color: var(--aulapress-muted);
    display: grid;
    font-size: 12px;
    font-weight: 700;
    gap: 4px;
    margin-top: 8px;
}

.aulapress-forum-request-panel input,
.aulapress-forum-request-panel textarea {
    width: 100%;
}

.aulapress-forum-request summary {
    cursor: pointer;
    font-weight: 700;
}

.aulapress-forum-request label {
    color: var(--aulapress-muted);
    display: grid;
    font-size: 12px;
    font-weight: 700;
    gap: 4px;
    margin-top: 8px;
}

.aulapress-forum-request input,
.aulapress-forum-request textarea,
.aulapress-message-tools input {
    width: 100%;
}

.aulapress-forum-conversation {
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    min-width: 0;
    overflow: hidden;
}

.aulapress-forum-pending {
    background: #fffbeb;
    color: #92400e;
    margin: 12px;
    padding: 10px;
}

.aulapress-message-tools {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.aulapress-message-tools button {
    background: #ffffff;
    border-color: var(--aulapress-border);
    color: var(--aulapress-text);
}

.aulapress-record-preview audio {
    width: 100%;
}

.aulapress-attachment {
    margin-top: 8px;
}

.aulapress-attachment--image img {
    border-radius: 6px;
    display: block;
    max-height: 220px;
    max-width: 100%;
}

.aulapress-attachment--audio audio {
    max-width: 100%;
}

.aulapress-attachment--file {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-accent);
    display: inline-flex;
    font-weight: 700;
    padding: 7px 9px;
    text-decoration: none;
}

.aulapress-message-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.aulapress-message-actions button {
    background: transparent;
    border: 0;
    color: var(--aulapress-accent);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    padding: 0;
}

.aulapress-announcements {
    display: grid;
    gap: 10px;
}

.aulapress-announcement {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 12px;
}

.aulapress-announcement.is-unread {
    border-color: #93c5fd;
    box-shadow: inset 4px 0 0 #356f9f;
}

.aulapress-announcement.is-pending {
    background: #fffbeb;
    border-color: #fbbf24;
    box-shadow: inset 4px 0 0 #f59e0b;
}

.aulapress-announcement.is-high {
    background: #fef2f2;
    border-color: #fecaca;
}

.aulapress-announcement span {
    color: var(--aulapress-muted);
    display: block;
    font-size: 12px;
}

.aulapress-announcement-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.aulapress-announcement-actions button {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 999px;
    color: var(--aulapress-text);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 10px;
}

.aulapress-announcement-actions button.is-active {
    background: var(--aulapress-accent);
    border-color: var(--aulapress-accent);
    color: #ffffff;
}

.aulapress-chat-panel__header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.aulapress-chat-panel__header h3,
.aulapress-chat-panel__header p {
    margin: 0;
}

.aulapress-chat-panel__header p {
    color: var(--aulapress-muted);
    font-size: 13px;
}

.aulapress-chat-layout {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
}

.aulapress-chat-threads {
    display: grid;
    gap: 8px;
}

.aulapress-chat-threads button {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    cursor: pointer;
    padding: 10px;
    text-align: left;
}

.aulapress-chat-threads button.is-active {
    border-color: var(--aulapress-accent);
    box-shadow: inset 3px 0 0 var(--aulapress-accent);
}

.aulapress-chat-threads span,
.aulapress-chat-conversation__title span,
.aulapress-chat-message span {
    color: var(--aulapress-muted);
    display: block;
    font-size: 12px;
}

.aulapress-chat-conversation {
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    min-width: 0;
    overflow: hidden;
}

.aulapress-chat-conversation__title {
    background: #f8fafc;
    border-bottom: 1px solid var(--aulapress-border);
    padding: 10px 12px;
}

.aulapress-chat-messages {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 360px;
    min-height: 180px;
    overflow-y: auto;
    padding: 12px;
}

.aulapress-chat-message {
    align-self: flex-start;
    background: #f1f5f9;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    max-width: 82%;
    padding: 9px 11px;
}

.aulapress-chat-message.is-mine {
    align-self: flex-end;
    background: #e8f2ff;
    border-color: #b7d7ff;
}

.aulapress-chat-message p {
    margin: 6px 0 0;
    overflow-wrap: anywhere;
}

.aulapress-chat-form {
    border-top: 1px solid var(--aulapress-border);
    display: grid;
    gap: 8px;
    padding: 10px;
}

.aulapress-chat-form textarea {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    resize: vertical;
    width: 100%;
}

.aulapress-chat-form button,
.aulapress-chat-push {
    background: var(--aulapress-accent);
    border: 1px solid var(--aulapress-accent);
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    padding: 8px 12px;
}

.aulapress-chat-empty {
    color: var(--aulapress-muted);
    margin: auto;
}

.aulapress-profile-form {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    display: grid;
    gap: 14px;
    max-width: 760px;
    padding: 18px;
}

.aulapress-profile-form label {
    display: grid;
    gap: 6px;
}

.aulapress-profile-form span {
    color: var(--aulapress-muted);
    font-size: 13px;
    font-weight: 700;
}

.aulapress-profile-form input,
.aulapress-profile-form select {
    border: 1px solid var(--aulapress-border);
    border-radius: 6px;
    color: var(--aulapress-text);
    min-height: 38px;
    padding: 8px 10px;
}

.aulapress-campus__empty,
.aulapress-campus__error,
.aulapress-campus__notice {
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    padding: 16px;
}

.aulapress-campus__notice {
    border-color: #047857;
    color: #047857;
    font-weight: 700;
    margin-bottom: 16px;
}

@media (max-width: 640px) {
    .aulapress-campus {
        border-left: 0;
        border-right: 0;
        border-radius: 0;
        padding: 18px;
    }

    .aulapress-campus__header {
        display: block;
    }

    .aulapress-course-view {
        grid-template-columns: 1fr;
    }

    .aulapress-academic-detail {
        grid-template-columns: 1fr;
    }

    .aulapress-course-view__sidebar {
        max-height: none;
        width: min(360px, calc(100vw - 34px));
    }

    .aulapress-course-toolbar {
        align-items: stretch;
        justify-content: flex-start;
        margin-top: 14px;
    }

    .aulapress-course-toolbar__group {
        flex: 1 1 100%;
        justify-content: flex-start;
    }

    .aulapress-tool-button,
    .aulapress-back-button {
        flex: 1 1 auto;
    }

    .aulapress-course-view__lesson {
        padding: 18px;
    }

    .aulapress-course-view__lesson h2 {
        font-size: 22px;
    }

    .aulapress-module__header {
        grid-template-columns: 30px minmax(0, 1fr) auto;
    }

    .aulapress-module__number {
        height: 30px;
        width: 30px;
    }

    .aulapress-lesson-actions > * {
        flex: 1 1 100%;
    }

    .aulapress-download-card {
        grid-template-columns: 1fr;
    }

    .aulapress-download-button {
        text-align: center;
    }

    .aulapress-online-summary,
    .aulapress-online-session {
        grid-template-columns: 1fr;
    }

    .aulapress-online-session__actions {
        min-width: 0;
    }

    .aulapress-forum-layout {
        grid-template-columns: 1fr;
    }

    .aulapress-chat-panel__header {
        display: block;
    }

    .aulapress-chat-panel__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-start;
        margin-top: 10px;
    }

    .aulapress-chat-push {
        flex: 1 1 130px;
    }

    .aulapress-chat-panel__actions .aulapress-panel-close {
        flex: 1 1 90px;
    }

    .aulapress-chat-layout {
        grid-template-columns: 1fr;
    }

    .aulapress-community-layout {
        grid-template-columns: 1fr;
    }

    .aulapress-chat-message {
        max-width: 100%;
    }

    .aulapress-notes-panel {
        border-radius: 8px 8px 0 0;
        bottom: 76px;
        left: 50%;
        max-height: calc(100vh - 116px);
        width: calc(100vw - 24px);
    }

    .aulapress-overlay {
        align-items: stretch;
        padding: 12px;
    }

    .aulapress-overlay__surface {
        max-height: calc(100vh - 24px);
        max-width: calc(100vw - 24px);
    }

    .aulapress-tool-panel {
        padding: 14px;
    }

    .aulapress-tool-panel__header {
        display: grid;
    }

    .aulapress-panel-close {
        width: 100%;
    }

    .aulapress-help-panel .aulapress-panel-close,
    .aulapress-quiz-panel .aulapress-panel-close,
    .aulapress-forum-panel .aulapress-panel-close {
        justify-content: center;
        width: 100%;
    }

    .aulapress-quiz-workspace,
    .aulapress-match-text-row {
        grid-template-columns: 1fr;
    }

    .aulapress-quiz-list {
        max-height: 190px;
        overflow-y: auto;
    }
}

/* Campus principal v0.30.32: tarjetas compactas y novedades por curso. */
.aulapress-campus__brand {
    color: #123b83;
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 850;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.aulapress-course-grid {
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}

.aulapress-course-card {
    box-sizing: border-box;
    gap: 12px;
    min-height: 0;
    padding: 14px;
    position: relative;
}

.aulapress-course-card__head {
    align-items: flex-start;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-width: 0;
}

.aulapress-course-card__head h3 {
    flex: 1;
    margin: 0;
    min-width: 0;
}

.aulapress-course-card__title,
.aulapress-course-card__body {
    appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    margin: 0;
    padding: 0;
    text-align: left;
    width: 100%;
}

.aulapress-course-card__title {
    color: #123b83;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
}

.aulapress-course-card__body {
    display: grid;
    gap: 11px;
}

.aulapress-course-card__title:focus-visible,
.aulapress-course-card__body:focus-visible {
    border-radius: 5px;
    outline: 3px solid rgba(37, 99, 235, 0.3);
    outline-offset: 3px;
}

.aulapress-course-card__title:focus:not(:focus-visible),
.aulapress-course-card__body:focus:not(:focus-visible) {
    outline: 0;
}

.aulapress-course-card .aulapress-progress {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0;
}

.aulapress-course-card .aulapress-progress__label {
    color: #344054;
    font-size: 12px;
    font-weight: 750;
    margin: 0;
    white-space: nowrap;
}

.aulapress-course-card__dates,
.aulapress-course-card__meta {
    display: grid;
    gap: 8px;
}

.aulapress-course-card__dates {
    border-top: 1px solid #e6eaf1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 10px;
}

.aulapress-course-card__meta {
    background: #f6f8fc;
    border-radius: 7px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 8px;
}

.aulapress-course-card__dates span,
.aulapress-course-card__meta span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.aulapress-course-card__dates small,
.aulapress-course-card__meta small {
    color: var(--aulapress-muted);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin-bottom: 2px;
    text-transform: uppercase;
}

.aulapress-course-card__dates strong,
.aulapress-course-card__meta strong {
    color: var(--aulapress-text);
    font-size: 12px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.aulapress-course-notifications {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: flex-end;
    max-width: 145px;
}

.aulapress-course-notification {
    align-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 2px 7px rgba(16, 24, 40, 0.18);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    height: 30px;
    justify-content: center;
    line-height: 1;
    min-width: 30px;
    padding: 2px 5px;
}

.aulapress-course-notification span {
    font-size: 8px;
    font-weight: 900;
}

.aulapress-course-notification b {
    font-size: 11px;
}

.aulapress-course-notification--normal { background: #356f9f; }
.aulapress-course-notification--high { background: #dc2626; }
.aulapress-course-notification--private { background: #fbbf24; color: #422006; }
.aulapress-course-notification--community { background: #16a34a; }

.aulapress-course-notification:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.25);
    outline-offset: 2px;
}

.aulapress-course-notification:focus:not(:focus-visible),
.aulapress-back-button:focus:not(:focus-visible),
.aulapress-tool-button:focus:not(:focus-visible),
.aulapress-nav-button:focus:not(:focus-visible),
.aulapress-notes-toolbar button:focus:not(:focus-visible),
.aulapress-notes-toolbar select:focus:not(:focus-visible),
.aulapress-lesson-dock button:focus:not(:focus-visible) {
    outline: 0;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-course-notification:hover {
        box-shadow: 0 3px 8px rgba(16, 24, 40, 0.2);
        transform: translateY(-1px);
    }
}

@media (max-width: 420px) {
    .aulapress-campus__brand {
        font-size: clamp(16px, 5vw, 20px);
        letter-spacing: -0.03em;
        white-space: nowrap;
    }

    .aulapress-course-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .aulapress-course-card {
        padding: 12px;
    }

    .aulapress-course-card__meta {
        gap: 5px;
        grid-template-columns: minmax(0, 1.25fr) minmax(48px, .65fr) minmax(0, 1fr);
        padding: 7px;
    }

    .aulapress-course-card__meta strong {
        font-size: 11px;
        overflow-wrap: normal;
    }
}

/* Course shell v0.30.23: coordinated with RESPIRA PWA Control 2. */
body.aulapress-course-active.aulapress-course-active {
    --aulapress-campus-nav-height: 74px;
    padding-bottom: calc(var(--aulapress-respira-nav-height, var(--respira-pwa-navigation-offset, 0px)) + var(--aulapress-campus-nav-height)) !important;
    scroll-padding-bottom: calc(var(--aulapress-respira-nav-height, var(--respira-pwa-navigation-offset, 0px)) + var(--aulapress-campus-nav-height) + 16px);
}

.aulapress-course-sticky-header {
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--aulapress-border);
    box-shadow: 0 8px 24px rgba(22, 32, 51, 0.08);
    margin: -24px -24px 24px;
    padding: 12px max(16px, env(safe-area-inset-right, 0px)) 12px max(16px, env(safe-area-inset-left, 0px));
    position: sticky;
    top: var(--aulapress-course-top-offset, 0px);
    z-index: 40;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.aulapress-course-sticky-header__top {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.aulapress-course-sticky-header .aulapress-back-button {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--aulapress-border);
    border-radius: 10px;
    display: inline-flex;
    font-weight: 750;
    gap: 6px;
    min-height: 42px;
    padding: 8px 11px;
}

.aulapress-course-sticky-header__identity {
    min-width: 0;
}

.aulapress-course-sticky-header__identity .aulapress-campus__title {
    font-size: 19px;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aulapress-course-sticky-header__progress {
    margin-top: 9px;
}

.aulapress-course-sticky-header__progress .aulapress-progress {
    max-width: none;
    width: 100%;
}

.aulapress-course-sticky-header__meta {
    display: flex;
    justify-self: end;
}

.aulapress-course-deadline {
    background: #f2f4f7;
    border-radius: 999px;
    color: #475467;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 9px;
}

.aulapress-course-deadline.is-urgent,
.aulapress-course-deadline.is-expired {
    background: #fef3f2;
    border: 1px solid #fda29b;
    color: #b42318;
}

.aulapress-course-sticky-header__event .aulapress-next-event {
    margin: 8px 0 0;
    max-width: none;
}

.aulapress-course-sticky-header__event .aulapress-next-event summary {
    gap: 2px;
    padding: 9px 11px;
}

.aulapress-course-sticky-header__event .aulapress-next-event strong {
    font-size: 14px;
}

.aulapress-course-menu {
    display: grid;
    gap: 20px;
}

.aulapress-course-menu__welcome {
    align-items: center;
    background: linear-gradient(135deg, #172554, #1d4ed8 62%, #0f766e);
    border-radius: 16px;
    box-shadow: 0 18px 38px rgba(29, 78, 216, 0.18);
    color: #ffffff;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 24px;
}

.aulapress-course-menu__welcome > div > span {
    color: #bfdbfe;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.aulapress-course-menu__welcome h2 {
    color: #ffffff;
    font-size: 25px;
    margin: 5px 0;
}

.aulapress-course-menu__welcome p {
    color: #dbeafe;
    margin: 0;
}

.aulapress-course-continue {
    align-items: center;
    background: #ffffff;
    border: 0;
    border-radius: 12px;
    color: #1e3a8a;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 850;
    gap: 10px;
    min-height: 48px;
    padding: 11px 16px;
}

.aulapress-course-continue:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.aulapress-course-menu__grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.aulapress-course-menu__grid > button {
    align-items: flex-start;
    background: var(--aulapress-surface);
    border: 1px solid var(--aulapress-border);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(22, 32, 51, 0.06);
    color: var(--aulapress-text);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    min-height: 150px;
    padding: 17px;
    text-align: left;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.aulapress-course-menu__grid > button:focus-visible {
    border-color: #8aafff;
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 3px;
}

.aulapress-course-menu__grid > button:focus:not(:focus-visible) {
    outline: 0;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-course-menu__grid > button:hover {
        border-color: #c7d0dd;
        box-shadow: 0 9px 20px rgba(22, 32, 51, 0.09);
        transform: translateY(-1px);
    }
}

.aulapress-course-menu__icon {
    align-items: center;
    background: var(--aulapress-accent-soft);
    border-radius: 11px;
    color: var(--aulapress-accent);
    display: inline-flex;
    font-size: 22px;
    font-weight: 900;
    height: 44px;
    justify-content: center;
    margin-bottom: auto;
    width: 44px;
}

.aulapress-course-menu__grid strong {
    display: block;
    font-size: 16px;
    margin-top: 16px;
}

.aulapress-course-menu__grid small {
    color: var(--aulapress-muted);
    display: block;
    font-size: 11px;
    margin-top: 3px;
}

.aulapress-course-menu__grid > button.has-urgent {
    border-color: #fda29b;
}

.aulapress-course-menu__grid > button.has-urgent .aulapress-course-menu__icon {
    background: #fef3f2;
    color: #b42318;
}

.aulapress-lesson-dock {
    align-items: stretch;
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid var(--aulapress-border);
    bottom: var(--aulapress-respira-nav-height, var(--respira-pwa-navigation-offset, 0px));
    box-shadow: 0 -7px 24px rgba(22, 32, 51, 0.14);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    left: 0;
    min-height: var(--aulapress-campus-nav-height, 74px);
    padding: 6px max(8px, env(safe-area-inset-right, 0px)) 6px max(8px, env(safe-area-inset-left, 0px));
    position: fixed;
    right: 0;
    z-index: 99980;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.aulapress-lesson-dock button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #344054;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font: inherit;
    gap: 3px;
    justify-content: center;
    min-height: 60px;
    min-width: 0;
    padding: 5px 3px;
    position: relative;
}

.aulapress-lesson-dock button:focus-visible {
    background: var(--aulapress-accent-soft);
    color: var(--aulapress-accent);
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: -2px;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-lesson-dock button:hover {
        background: #f3f5f8;
        color: var(--aulapress-text);
    }
}

.aulapress-lesson-dock button:disabled {
    cursor: not-allowed;
    opacity: 0.42;
}

.aulapress-lesson-dock button > span {
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}

.aulapress-lesson-dock button > strong {
    font-size: 10.5px;
    line-height: 1.1;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aulapress-lesson-dock button > em {
    align-items: center;
    background: #b42318;
    border: 2px solid #ffffff;
    border-radius: 999px;
    color: #ffffff;
    display: flex;
    font-size: 9px;
    font-style: normal;
    font-weight: 850;
    height: 18px;
    justify-content: center;
    left: calc(50% + 8px);
    min-width: 18px;
    padding: 0 3px;
    position: absolute;
    top: 2px;
}

.aulapress-lesson-dock .aulapress-lesson-dock__notes.is-active {
    background: var(--aulapress-accent-soft);
    color: var(--aulapress-accent);
}

.aulapress-lesson-dock .aulapress-lesson-dock__note-badge {
    background: #047857;
    font-size: 14px;
}

.aulapress-lesson-dock .aulapress-lesson-dock__complete {
    background: var(--aulapress-accent);
    color: #ffffff;
    margin: 0 3px;
}

.aulapress-lesson-dock .aulapress-lesson-dock__complete:focus-visible {
    background: #2d6089;
    color: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-lesson-dock .aulapress-lesson-dock__complete:hover {
        background: #2d6089;
        color: #ffffff;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aulapress-course-card,
    .aulapress-course-notification,
    .aulapress-course-menu__grid > button {
        transition: none;
    }

    .aulapress-course-card:hover,
    .aulapress-course-notification:hover,
    .aulapress-course-menu__grid > button:hover {
        transform: none;
    }
}

.aulapress-lesson-dock .aulapress-lesson-dock__complete.is-completed {
    background: #047857;
    opacity: 1;
}

body.aulapress-course-active .aulapress-notes-panel {
    bottom: calc(var(--aulapress-respira-nav-height, var(--respira-pwa-navigation-offset, 0px)) + var(--aulapress-campus-nav-height, 74px) + 14px);
    z-index: 99983;
}

body.aulapress-course-active .aulapress-content-drawer {
    z-index: 99983;
}

body.aulapress-course-active .aulapress-overlay {
    z-index: 99984;
}

.aulapress-announcements-panel .aulapress-announcements {
    max-height: min(62vh, 560px);
    overflow-y: auto;
}

@media (max-width: 1080px) {
    .aulapress-course-menu__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Community workspace v0.30.28. */
.aulapress-community-panel.aulapress-course-overlay-panel {
    overflow: hidden;
}

.aulapress-community-panel.aulapress-course-overlay-panel .aulapress-tool-panel__header {
    align-items: start;
    display: grid;
    gap: 8px 14px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-bottom: 11px;
    padding-top: 11px;
}

.aulapress-community-heading h3 {
    font-size: 18px;
}

.aulapress-community-heading p {
    line-height: 1.25;
}

.aulapress-community-panel .aulapress-chat-panel__actions {
    align-self: start;
    flex-wrap: nowrap;
}

.aulapress-community-panel .aulapress-community-tabs {
    flex: 0 0 auto;
    margin-bottom: 10px;
}

.aulapress-community-panel > .aulapress-community-layout {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.aulapress-community-panel .aulapress-community-list {
    min-height: 0;
    overflow-y: auto;
    padding-right: 3px;
}

.aulapress-community-list__head {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.aulapress-community-list__head h4 {
    margin: 0;
}

.aulapress-community-list .aulapress-community-list__head button {
    border-color: var(--aulapress-accent);
    color: var(--aulapress-accent);
    font-size: 11px;
    font-weight: 800;
    padding: 6px 8px;
}

.aulapress-new-chat {
    background: #f8fafc;
    border: 1px solid var(--aulapress-border);
    border-radius: 9px;
    display: grid;
    gap: 8px;
    padding: 9px;
}

.aulapress-new-chat > strong {
    font-size: 12px;
}

.aulapress-new-chat__people {
    display: grid;
    gap: 4px;
    max-height: 180px;
    overflow-y: auto;
}

.aulapress-new-chat__people label {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 7px;
    cursor: pointer;
    display: flex;
    gap: 7px;
    padding: 7px;
}

.aulapress-new-chat__people input {
    margin: 0;
}

.aulapress-new-chat__people span {
    color: var(--aulapress-text);
    font-weight: 700;
}

.aulapress-new-chat > button {
    background: var(--aulapress-accent);
    border-color: var(--aulapress-accent);
    color: #ffffff;
    font-weight: 800;
    text-align: center;
}

.aulapress-community-panel .aulapress-chat-conversation {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    min-height: 0;
}

.aulapress-community-panel .aulapress-forum-conversation {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    min-height: 0;
}

.aulapress-community-panel .aulapress-chat-messages {
    max-height: none;
    min-height: 0;
}

.aulapress-community-panel .aulapress-chat-form {
    background: #ffffff;
    padding: 8px;
}

.aulapress-chat-composer {
    align-items: end;
    display: grid;
    gap: 6px;
    grid-template-columns: minmax(0, 1fr) 38px 38px auto;
}

.aulapress-chat-composer textarea {
    max-height: 92px;
    min-height: 38px;
    padding: 9px 10px;
    resize: none;
}

.aulapress-chat-composer .aulapress-composer-icon {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    color: var(--aulapress-text);
    cursor: pointer;
    display: flex;
    font-size: 17px;
    height: 38px;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 38px;
}

.aulapress-chat-composer .aulapress-composer-icon input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.aulapress-chat-composer .aulapress-chat-send {
    height: 38px;
    margin: 0;
    white-space: nowrap;
}

.aulapress-community-panel .aulapress-record-preview:empty {
    display: none;
}

@media (max-width: 640px) {
    .aulapress-community-panel.aulapress-course-overlay-panel .aulapress-tool-panel__header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .aulapress-community-panel .aulapress-chat-panel__actions {
        margin: 0;
    }

    .aulapress-community-panel .aulapress-chat-push,
    .aulapress-community-panel .aulapress-panel-close {
        flex: 0 0 auto;
        font-size: 10px;
        padding: 7px 8px;
        width: auto;
    }

    .aulapress-community-panel > .aulapress-community-layout {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(90px, 34%) minmax(0, 1fr);
    }

    .aulapress-community-panel .aulapress-community-list {
        border-bottom: 1px solid var(--aulapress-border);
        padding-bottom: 8px;
    }

    .aulapress-chat-composer {
        grid-template-columns: minmax(0, 1fr) 36px 36px;
    }

    .aulapress-chat-composer .aulapress-chat-send {
        grid-column: 1 / -1;
        height: 34px;
    }
}

/* Closable notes v0.30.26. */
.aulapress-notes-panel__header {
    align-items: center;
    background: var(--aulapress-surface);
    border-bottom: 1px solid var(--aulapress-border);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: -16px -16px 14px;
    padding: 13px 16px;
    position: sticky;
    top: -16px;
    z-index: 3;
}

.aulapress-notes-panel .aulapress-notes-panel__header h3 {
    margin: 0;
}

.aulapress-notes-panel .aulapress-notes-panel__close {
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    color: var(--aulapress-text);
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    margin: 0;
    text-align: center;
    width: auto;
}

@media (max-width: 640px) {
    .aulapress-course-sticky-header {
        margin: -18px -18px 18px;
        padding: 10px max(10px, env(safe-area-inset-right, 0px)) 10px max(10px, env(safe-area-inset-left, 0px));
    }

    .aulapress-course-sticky-header__top {
        gap: 9px;
    }

    .aulapress-course-sticky-header .aulapress-back-button {
        min-height: 38px;
        padding: 7px 9px;
    }

    .aulapress-course-sticky-header .aulapress-back-button span {
        display: none;
    }

    .aulapress-course-sticky-header__identity .aulapress-campus__title {
        font-size: 17px;
    }

    .aulapress-course-sticky-header__event .aulapress-next-event span,
    .aulapress-course-sticky-header__event .aulapress-next-event em {
        font-size: 11px;
    }

    .aulapress-course-menu__welcome {
        align-items: stretch;
        flex-direction: column;
        padding: 19px;
    }

    .aulapress-course-menu__welcome h2 {
        font-size: 21px;
    }

    .aulapress-course-continue {
        justify-content: space-between;
        width: 100%;
    }

    .aulapress-course-menu__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aulapress-course-menu__grid > button {
        min-height: 136px;
        padding: 14px;
    }

    .aulapress-lesson-dock button > strong {
        font-size: 9px;
    }

    .aulapress-lesson-dock button > span {
        font-size: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aulapress-course-menu__grid > button {
        transition: none;
    }
}

/* Viewport-safe panel system. */
body.aulapress-course-active.aulapress-course-active {
    scroll-padding-top: calc(var(--aulapress-course-top-offset, 0px) + var(--aulapress-course-header-height, 0px) + 12px);
}

.aulapress-course-menu,
.aulapress-course-view__lesson {
    scroll-margin-top: calc(var(--aulapress-course-top-offset, 0px) + var(--aulapress-course-header-height, 0px) + 12px);
}

body.aulapress-course-active .aulapress-overlay {
    align-items: stretch;
    bottom: 0;
    box-sizing: border-box;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    overscroll-behavior: none;
    padding: max(8px, env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-right, 0px)) max(8px, env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));
    top: 0;
    touch-action: none;
    z-index: 100010;
}

body.aulapress-overlay-open {
    overflow: hidden;
    overscroll-behavior: none;
}

body.aulapress-course-active .aulapress-overlay__backdrop,
body.aulapress-course-active .aulapress-overlay__backdrop:hover,
body.aulapress-course-active .aulapress-overlay__backdrop:focus {
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    background: rgba(15, 23, 42, 0.34);
}

body.aulapress-course-active .aulapress-overlay__surface {
    display: flex;
    max-height: none;
    max-width: min(1120px, calc(100vw - 20px));
    overflow: hidden;
    overscroll-behavior: contain;
    touch-action: pan-y;
}

.aulapress-course-overlay-panel {
    border-radius: 16px;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    max-height: 100%;
    min-height: 0;
    overflow: auto;
    padding: 20px;
    width: 100%;
}

.aulapress-course-overlay-panel .aulapress-tool-panel__header {
    background: var(--aulapress-surface);
    flex: 0 0 auto;
    margin: -20px -20px 18px;
    padding: 18px 20px 15px;
    position: sticky;
    top: -20px;
    z-index: 4;
}

.aulapress-content-panel__body {
    display: grid;
    gap: 12px;
}

.aulapress-content-panel .aulapress-module {
    background: #f8fafc;
    border: 1px solid var(--aulapress-border);
    border-radius: 12px;
    padding: 8px;
}

.aulapress-content-panel .aulapress-module + .aulapress-module {
    margin-top: 4px;
}

@media (max-width: 640px) {
    body.aulapress-course-active .aulapress-overlay {
        bottom: 0;
        padding: max(5px, env(safe-area-inset-top, 0px)) max(5px, env(safe-area-inset-right, 0px)) max(5px, env(safe-area-inset-bottom, 0px)) max(5px, env(safe-area-inset-left, 0px));
        top: 0;
    }

    body.aulapress-course-active .aulapress-overlay__surface {
        max-width: calc(100vw - 12px);
    }

    .aulapress-course-overlay-panel {
        border-radius: 13px;
        padding: 14px;
    }

    .aulapress-course-overlay-panel .aulapress-tool-panel__header {
        margin: -14px -14px 14px;
        padding: 14px;
        top: -14px;
    }
}

/* Focused notes workspace v0.30.37. */
body.aulapress-notes-focus {
    overflow: hidden;
}

.aulapress-notes-focus-layer {
    inset: 0;
    position: fixed;
    z-index: 100020;
}

.aulapress-notes-backdrop {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    background: rgba(15, 23, 42, 0.38);
    border: 0;
    cursor: pointer;
    inset: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

body.aulapress-course-active .aulapress-notes-focus-layer .aulapress-notes-panel {
    bottom: max(16px, env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    left: 50%;
    max-height: none;
    overflow: hidden;
    padding: 18px;
    top: max(16px, calc(var(--aulapress-course-top-offset, 0px) + 12px));
    transform: translateX(-50%);
    width: min(680px, calc(100vw - 40px));
    z-index: 1;
}

.aulapress-notes-panel__header > div {
    min-width: 0;
}

.aulapress-notes-panel__header span {
    color: var(--aulapress-accent);
    display: block;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.aulapress-notes-panel__header h3,
.aulapress-notes-panel h3#aulapress-notes-title {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aulapress-notes-panel form[data-note-form] {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
}

.aulapress-notes-panel .aulapress-notes-toolbar {
    flex: 0 0 auto;
    margin-top: 12px;
}

.aulapress-notes-panel .aulapress-note-editor {
    flex: 1;
    max-height: none;
    min-height: 240px;
    overflow-y: auto;
}

.aulapress-notes-panel .aulapress-note-save-status {
    flex: 0 0 auto;
    margin: 0 0 8px;
}

.aulapress-notes-panel .aulapress-notes-export {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 640px) {
    body.aulapress-course-active .aulapress-notes-focus-layer .aulapress-notes-panel {
        border-radius: 12px;
        bottom: max(8px, env(safe-area-inset-bottom, 0px));
        padding: 12px;
        top: max(8px, env(safe-area-inset-top, 0px));
        width: calc(100vw - 16px);
    }

    .aulapress-notes-panel .aulapress-notes-toolbar {
        max-height: 96px;
        overflow-y: auto;
    }

    .aulapress-notes-panel .aulapress-note-editor {
        min-height: 180px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aulapress-notes-backdrop {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
}

.aulapress-course-sticky-header__progress .aulapress-progress {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(90px, 1fr) auto;
    margin: 0;
}

.aulapress-course-sticky-header__progress .aulapress-progress__label {
    font-size: 11px;
    font-weight: 800;
    margin: 0;
    white-space: nowrap;
}

.aulapress-course-sticky-header__event .aulapress-next-event {
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    max-width: none;
}

.aulapress-course-sticky-header__event .aulapress-next-event summary {
    align-items: center;
    display: grid;
    gap: 8px 12px;
    grid-template-columns: minmax(120px, auto) auto minmax(0, 1fr);
    padding: 6px 9px;
}

.aulapress-course-sticky-header__event .aulapress-next-event summary span,
.aulapress-course-sticky-header__event .aulapress-next-event summary strong,
.aulapress-course-sticky-header__event .aulapress-next-event summary em {
    margin: 0;
    min-width: 0;
}

.aulapress-course-sticky-header__event .aulapress-next-event summary span {
    color: var(--aulapress-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.aulapress-course-sticky-header__event .aulapress-next-event summary strong {
    font-size: 12px;
    white-space: nowrap;
}

.aulapress-course-sticky-header__event .aulapress-next-event summary em {
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .aulapress-course-sticky-header .aulapress-course-deadline {
        font-size: 9px;
        padding: 4px 6px;
    }

    .aulapress-course-sticky-header__event .aulapress-next-event summary {
        gap: 6px;
        grid-template-columns: minmax(78px, .8fr) auto minmax(0, 1.2fr);
        padding: 5px 7px;
    }

    .aulapress-course-sticky-header__event .aulapress-next-event summary span {
        line-height: 1.15;
    }

    .aulapress-course-sticky-header__event .aulapress-next-event summary strong,
    .aulapress-course-sticky-header__event .aulapress-next-event summary em {
        font-size: 10px;
    }
}

/* Responsive reading canvas v0.30.40. */
body.aulapress-course-active {
    overflow-x: clip;
}

body.aulapress-course-active .aulapress-campus {
    box-sizing: border-box;
    margin-left: calc((100% - min(1280px, calc(100vw - 32px))) / 2);
    margin-right: calc((100% - min(1280px, calc(100vw - 32px))) / 2);
    max-width: none;
    width: min(1280px, calc(100vw - 32px));
}

body.aulapress-course-active .aulapress-course-view__lesson {
    padding: clamp(24px, 3vw, 36px);
}

.aulapress-lesson-body {
    min-width: 0;
    width: 100%;
}

.aulapress-lesson-body > * {
    max-width: 960px;
}

.aulapress-lesson-body > :is(
    .wp-block-columns,
    .wp-block-cover,
    .wp-block-embed,
    .wp-block-gallery,
    .wp-block-image,
    .wp-block-media-text,
    .wp-block-table,
    .wp-block-video
) {
    max-width: none;
}

.aulapress-course-view__lesson--quiz .aulapress-quiz-form,
.aulapress-course-view__lesson--quiz .aulapress-quiz-resource,
.aulapress-course-view__lesson--quiz fieldset {
    max-width: none;
    width: 100%;
}

.aulapress-course-view__lesson--quiz .aulapress-quiz-form > div:first-of-type {
    max-width: 960px;
}

@media (max-width: 900px) {
    body.aulapress-course-active .aulapress-campus {
        margin-left: calc((100% - (100vw - 16px)) / 2);
        margin-right: calc((100% - (100vw - 16px)) / 2);
        padding-left: 16px;
        padding-right: 16px;
        width: calc(100vw - 16px);
    }

    body.aulapress-course-active .aulapress-course-sticky-header {
        margin-left: -16px;
        margin-right: -16px;
    }

    body.aulapress-course-active .aulapress-course-view__lesson {
        padding: 24px;
    }
}

@media (max-width: 640px) {
    body.aulapress-course-active .aulapress-campus {
        background: #ffffff;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        margin-left: calc((100% - 100vw) / 2);
        margin-right: calc((100% - 100vw) / 2);
        padding-left: 0;
        padding-right: 0;
        width: 100vw;
    }

    body.aulapress-course-active .aulapress-course-sticky-header {
        margin-left: 0;
        margin-right: 0;
    }

    body.aulapress-course-active .aulapress-course-view {
        gap: 0;
    }

    body.aulapress-course-active .aulapress-course-view__lesson {
        border-left: 0;
        border-radius: 0;
        border-right: 0;
        box-shadow: none;
        padding: 14px 14px 18px;
    }

    body.aulapress-course-active .aulapress-course-view__lesson--quiz .aulapress-quiz-form {
        background: transparent;
        border: 0;
        border-radius: 0;
        margin-top: 8px;
        padding: 0;
    }

    body.aulapress-course-active .aulapress-course-view__lesson--quiz .aulapress-quiz-form fieldset {
        box-sizing: border-box;
        padding: 12px;
    }

    .aulapress-lesson-body > * {
        max-width: 100%;
    }
}

/* Unified community workspace v0.30.41. */
.aulapress-panel-close,
.aulapress-notes-panel .aulapress-notes-panel__close {
    align-items: center;
    display: inline-flex;
    flex: 0 0 40px;
    font-size: 24px;
    height: 40px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    padding: 0;
    width: 40px;
}

/* Uniform overlay headers v0.30.42. */
.aulapress-course-overlay-panel > .aulapress-tool-panel__header {
    align-items: start;
    display: grid;
    gap: 8px 12px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.aulapress-course-overlay-panel > .aulapress-tool-panel__header > div:first-child {
    grid-column: 1;
    min-width: 0;
}

.aulapress-course-overlay-panel > .aulapress-tool-panel__header > .aulapress-panel-close,
.aulapress-course-overlay-panel > .aulapress-tool-panel__header > .aulapress-chat-panel__actions {
    align-self: start;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin: 0;
}

.aulapress-course-overlay-panel .aulapress-tool-panel__header .aulapress-panel-close {
    align-items: center;
    display: inline-flex;
    flex: 0 0 40px;
    font-size: 24px;
    height: 40px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    padding: 0;
    width: 40px;
}

.aulapress-course-overlay-panel > .aulapress-tool-panel__header > .aulapress-chat-panel__actions {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    width: auto;
}

@media (max-width: 640px) {
    .aulapress-course-overlay-panel > .aulapress-tool-panel__header {
        align-items: start;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .aulapress-course-overlay-panel .aulapress-tool-panel__header .aulapress-panel-close {
        flex: 0 0 40px;
        font-size: 24px;
        height: 40px;
        justify-content: center;
        padding: 0;
        width: 40px;
    }
}

.aulapress-community-panel.aulapress-course-overlay-panel {
    height: 100%;
}

.aulapress-community-panel.aulapress-course-overlay-panel .aulapress-tool-panel__header {
    align-items: center;
    padding-bottom: 9px;
    padding-top: 9px;
}

.aulapress-community-heading {
    align-items: baseline;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.aulapress-community-heading h3,
.aulapress-community-heading p {
    margin: 0;
}

.aulapress-community-heading p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aulapress-community-panel .aulapress-chat-panel__actions {
    align-items: center;
    gap: 6px;
}

.aulapress-community-push {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    color: var(--aulapress-text);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 40px;
    font-size: 18px;
    height: 40px;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 40px;
}

.aulapress-community-push.is-enabled {
    background: #ecfdf3;
    border-color: #6ce9a6;
}

.aulapress-community-push:disabled {
    cursor: wait;
    opacity: .6;
}

.aulapress-community-push-status {
    background: #fffaeb;
    border: 1px solid #fedf89;
    border-radius: 7px;
    color: #93370d;
    flex: 0 0 auto;
    font-size: 12px;
    margin: 0 0 8px;
    padding: 7px 9px;
}

.aulapress-community-panel .aulapress-community-tabs {
    gap: 6px;
    margin-bottom: 8px;
}

.aulapress-community-panel .aulapress-community-tabs button {
    padding: 7px 11px;
}

.aulapress-community-panel > .aulapress-community-layout {
    grid-template-columns: minmax(190px, 235px) minmax(0, 1fr);
}

.aulapress-community-panel .aulapress-community-list {
    gap: 5px;
}

.aulapress-community-panel .aulapress-community-list > button:not(.aulapress-forum-request-toggle) {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    min-height: 42px;
    padding: 7px 8px;
}

.aulapress-community-thread__main {
    display: block;
    min-width: 0;
}

.aulapress-community-thread__main strong,
.aulapress-community-thread__main small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aulapress-community-thread__main small {
    color: var(--aulapress-muted);
    font-size: 10px;
    font-weight: 500;
    margin-top: 2px;
}

.aulapress-community-list .aulapress-alert-badge {
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0;
}

.aulapress-community-panel .aulapress-chat-conversation,
.aulapress-community-panel .aulapress-forum-conversation {
    max-height: 100%;
}

.aulapress-community-panel .aulapress-chat-conversation__title {
    min-height: 43px;
    padding: 9px 12px;
}

.aulapress-community-panel .aulapress-chat-messages {
    overscroll-behavior: contain;
}

.aulapress-community-panel .aulapress-chat-form {
    position: relative;
    z-index: 2;
}

.aulapress-community-panel .aulapress-chat-composer textarea {
    line-height: 1.4;
    max-height: 144px;
    min-height: 76px;
    overflow-y: auto;
    resize: none;
}

.aulapress-community-forum-mobile {
    display: none;
}

@media (max-width: 640px) {
    .aulapress-community-panel.aulapress-course-overlay-panel {
        padding: 10px;
    }

    .aulapress-community-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 1px;
    }

    .aulapress-community-heading h3 {
        font-size: 17px;
    }

    .aulapress-community-heading p {
        font-size: 11px;
        max-width: 56vw;
    }

    .aulapress-community-panel .aulapress-chat-push,
    .aulapress-community-panel .aulapress-panel-close,
    .aulapress-community-panel .aulapress-community-push {
        font-size: 20px;
        height: 40px;
        padding: 0;
        width: 40px;
    }

    .aulapress-community-panel > .aulapress-community-layout--private {
        grid-template-rows: minmax(72px, 26%) minmax(0, 1fr);
    }

    .aulapress-community-panel > .aulapress-community-layout--forums {
        grid-template-rows: auto minmax(0, 1fr);
    }

    .aulapress-community-layout--forums .aulapress-community-list {
        display: none;
    }

    .aulapress-community-forum-mobile {
        align-items: end;
        display: grid;
        gap: 6px;
        grid-template-columns: minmax(0, 1fr) 40px;
    }

    .aulapress-community-forum-mobile label {
        color: var(--aulapress-muted);
        display: grid;
        font-size: 10px;
        font-weight: 800;
        gap: 2px;
    }

    .aulapress-community-forum-mobile select {
        background: #ffffff;
        border: 1px solid var(--aulapress-border);
        border-radius: 7px;
        color: var(--aulapress-text);
        min-height: 40px;
        width: 100%;
    }

    .aulapress-community-forum-mobile button {
        align-items: center;
        display: inline-flex;
        font-size: 22px;
        height: 40px;
        justify-content: center;
        padding: 0;
        width: 40px;
    }

    .aulapress-chat-composer {
        grid-template-columns: minmax(0, 1fr) 38px 38px auto;
    }

    .aulapress-chat-composer .aulapress-chat-send {
        grid-column: auto;
        height: 38px;
    }

    .aulapress-community-panel .aulapress-chat-composer textarea {
        min-height: 72px;
    }
}

/* Mobile keyboard-safe forms v0.30.43. */
body.aulapress-course-active .aulapress-overlay {
    bottom: auto;
    height: var(--aulapress-visual-viewport-height, 100dvh);
    top: var(--aulapress-visual-viewport-top, 0px);
}

body.aulapress-keyboard-open .aulapress-lesson-dock {
    display: none;
}

body.aulapress-keyboard-open .aulapress-overlay__surface,
body.aulapress-keyboard-open .aulapress-course-overlay-panel,
body.aulapress-keyboard-open .aulapress-notes-panel {
    overscroll-behavior: contain;
}

body.aulapress-course-active .aulapress-notes-focus-layer {
    bottom: auto;
    height: var(--aulapress-visual-viewport-height, 100dvh);
    top: var(--aulapress-visual-viewport-top, 0px);
}

body.aulapress-keyboard-open .aulapress-notes-focus-layer .aulapress-notes-panel {
    bottom: max(8px, env(safe-area-inset-bottom, 0px));
    position: absolute;
    top: 8px;
}

.aulapress-campus :is(input, textarea, select, [contenteditable="true"]) {
    scroll-margin-bottom: 24px;
    scroll-margin-top: 24px;
}

@media (max-width: 900px), (pointer: coarse) {
    .aulapress-campus :is(input, textarea, select, [contenteditable="true"]) {
        font-size: max(16px, 1em);
    }

    body.aulapress-keyboard-open .aulapress-course-overlay-panel {
        padding-bottom: max(14px, env(safe-area-inset-bottom, 0px));
    }
}

/* Stable viewport course shell v0.30.44. */
html.aulapress-course-active,
body.aulapress-course-active.aulapress-course-active {
    overflow: hidden !important;
    overscroll-behavior: none;
}

body.aulapress-course-active.aulapress-course-active {
    padding-bottom: 0 !important;
}

body.aulapress-course-active .aulapress-campus {
    bottom: var(--aulapress-respira-nav-height, var(--respira-pwa-navigation-offset, 0px));
    display: flex;
    flex-direction: column;
    left: max(16px, calc((100vw - 1280px) / 2));
    margin: 0;
    overflow: hidden;
    position: fixed;
    right: max(16px, calc((100vw - 1280px) / 2));
    top: var(--aulapress-course-top-offset, 0px);
    width: auto;
    z-index: 99960;
}

body.aulapress-course-active .aulapress-course-sticky-header {
    flex: 0 0 auto;
    margin: -24px -24px 0;
    position: relative;
    top: auto;
    z-index: 40;
}

body.aulapress-course-active .aulapress-course-view {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    padding-top: 24px;
    scroll-padding-bottom: 24px;
    -webkit-overflow-scrolling: touch;
}

body.aulapress-course-active .aulapress-course-view--menu {
    padding-bottom: 20px;
}

body.aulapress-course-active .aulapress-course-view--player {
    padding-bottom: calc(var(--aulapress-campus-nav-height, 74px) + 20px);
}

body.aulapress-keyboard-open .aulapress-course-view--player {
    padding-bottom: max(50vh, calc(var(--aulapress-campus-nav-height, 74px) + 20px));
}

@media (max-width: 900px) {
    body.aulapress-course-active .aulapress-campus {
        left: 8px;
        padding-left: 16px;
        padding-right: 16px;
        right: 8px;
    }

    body.aulapress-course-active .aulapress-course-sticky-header {
        margin-left: -16px;
        margin-right: -16px;
    }

    body.aulapress-course-active .aulapress-course-view {
        padding-top: 16px;
    }
}

@media (max-width: 640px) {
    body.aulapress-course-active .aulapress-campus {
        left: 0;
        padding-left: 0;
        padding-right: 0;
        right: 0;
    }

    body.aulapress-course-active .aulapress-course-sticky-header {
        margin: 0;
    }

    body.aulapress-course-active .aulapress-course-view {
        padding-top: 0;
    }
}

/* Mobile master-detail community v0.30.44. */
.aulapress-community-mobile-back {
    display: none;
}

.aulapress-community-conversation-heading {
    min-width: 0;
}

.aulapress-community-conversation-heading strong,
.aulapress-community-conversation-heading span {
    display: block;
}

@media (max-width: 760px), (pointer: coarse) and (max-width: 1024px) {
    .aulapress-community-panel.aulapress-course-overlay-panel {
        padding: 10px;
    }

    .aulapress-community-panel > .aulapress-community-layout {
        display: block;
        height: 100%;
        min-height: 0;
        overflow: hidden;
        position: relative;
    }

    .aulapress-community-panel .aulapress-community-forum-mobile {
        display: none;
    }

    .aulapress-community-panel .aulapress-community-list,
    .aulapress-community-panel .aulapress-chat-conversation,
    .aulapress-community-panel .aulapress-forum-conversation,
    .aulapress-community-panel .aulapress-forum-request-panel {
        box-sizing: border-box;
        height: 100%;
        max-height: none;
        min-height: 0;
        width: 100%;
    }

    .aulapress-community-panel .aulapress-community-list {
        border: 0;
        display: grid;
        overflow-y: auto;
        padding: 0 2px 8px 0;
    }

    .aulapress-community-layout--private.is-mobile-list > .aulapress-chat-conversation,
    .aulapress-community-layout--private.is-mobile-conversation > .aulapress-community-list,
    .aulapress-community-layout--forums.is-mobile-list > .aulapress-forum-conversation,
    .aulapress-community-layout--forums.is-mobile-list > .aulapress-forum-request-panel,
    .aulapress-community-layout--forums.is-mobile-conversation > .aulapress-community-list,
    .aulapress-community-layout--forums.is-mobile-conversation > .aulapress-forum-request-panel,
    .aulapress-community-layout--forums.is-mobile-request > .aulapress-community-list,
    .aulapress-community-layout--forums.is-mobile-request > .aulapress-forum-conversation {
        display: none;
    }

    .aulapress-community-panel .aulapress-chat-conversation,
    .aulapress-community-panel .aulapress-forum-conversation {
        border: 0;
        border-radius: 0;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .aulapress-community-panel .aulapress-forum-request-panel {
        overflow-y: auto;
    }

    .aulapress-community-panel .aulapress-chat-conversation__title {
        align-items: center;
        display: grid;
        gap: 8px;
        grid-template-columns: auto minmax(0, 1fr);
        min-height: 46px;
        padding: 4px 2px 9px;
    }

    .aulapress-community-mobile-back {
        align-items: center;
        align-self: start;
        background: var(--aulapress-accent-soft);
        border: 1px solid #bfdbfe;
        border-radius: 8px;
        color: var(--aulapress-accent);
        cursor: pointer;
        display: inline-flex;
        font-size: 12px;
        font-weight: 800;
        justify-content: center;
        min-height: 38px;
        padding: 7px 10px;
        width: auto;
    }

    .aulapress-community-panel .aulapress-forum-request-panel > .aulapress-community-mobile-back {
        margin-bottom: 10px;
    }

    .aulapress-community-panel .aulapress-chat-messages {
        min-height: 0;
        overflow-y: auto;
    }

    .aulapress-community-panel .aulapress-chat-form {
        flex: 0 0 auto;
    }

    .aulapress-community-panel .aulapress-new-chat {
        width: 100%;
    }
}

/* Full-width mobile community composer v0.30.46. */
body.aulapress-course-active .aulapress-overlay {
    bottom: auto;
    height: max(1px, calc(var(--aulapress-visual-viewport-height, 100dvh) - var(--aulapress-respira-nav-height, var(--respira-pwa-navigation-offset, 0px))));
    top: var(--aulapress-visual-viewport-top, 0px);
}

body.aulapress-keyboard-open.aulapress-course-active .aulapress-overlay {
    height: var(--aulapress-visual-viewport-height, 100dvh);
}

.aulapress-community-panel,
.aulapress-community-panel > .aulapress-community-layout,
.aulapress-community-panel .aulapress-chat-conversation,
.aulapress-community-panel .aulapress-forum-conversation,
.aulapress-community-panel .aulapress-chat-form,
.aulapress-community-panel .aulapress-chat-composer {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

@media (max-width: 760px), (pointer: coarse) and (max-width: 1024px) {
    .aulapress-community-panel .aulapress-chat-form {
        bottom: 0;
        padding: 8px 2px max(8px, env(safe-area-inset-bottom, 0px));
        position: relative;
        z-index: 5;
    }

    .aulapress-community-panel .aulapress-chat-composer {
        align-items: center;
        display: grid;
        gap: 7px;
        grid-template-columns: 38px 38px minmax(0, 1fr);
    }

    .aulapress-community-panel .aulapress-chat-composer textarea {
        grid-column: 1 / -1;
        max-height: min(144px, 24dvh);
        min-height: 78px;
        width: 100%;
    }

    .aulapress-community-panel .aulapress-chat-composer .aulapress-composer-icon {
        grid-row: 2;
    }

    .aulapress-community-panel .aulapress-chat-composer .aulapress-chat-send {
        grid-column: 3;
        grid-row: 2;
        justify-self: stretch;
        width: 100%;
    }

    body.aulapress-keyboard-open .aulapress-community-panel .aulapress-chat-composer textarea {
        max-height: min(112px, 20dvh);
        min-height: 64px;
    }
}

/* Unified desktop course windows v0.30.48. */
@media (min-width: 761px) and (hover: hover) and (pointer: fine) {
    body.aulapress-course-active .aulapress-overlay {
        align-items: center;
        padding: 24px;
    }

    body.aulapress-course-active .aulapress-overlay__surface {
        display: block;
        max-height: min(760px, calc(100vh - 48px));
        max-width: min(1040px, calc(100vw - 64px));
        overflow: hidden;
        width: 100%;
    }

    body.aulapress-course-active .aulapress-course-overlay-panel {
        box-sizing: border-box;
        border-radius: 16px;
        height: min(720px, calc(100vh - 96px));
        max-height: 100%;
        overflow-y: auto;
        padding: 24px;
        width: 100%;
    }

    body.aulapress-course-active .aulapress-course-overlay-panel .aulapress-tool-panel__header {
        align-items: center;
        box-sizing: border-box;
        gap: 16px;
        margin: -24px -24px 20px;
        min-height: 72px;
        padding: 16px 24px 14px;
        position: sticky;
        top: -24px;
    }

    body.aulapress-course-active .aulapress-course-overlay-panel .aulapress-tool-panel__header h3 {
        font-size: 20px;
        line-height: 1.2;
    }

    body.aulapress-course-active .aulapress-course-overlay-panel .aulapress-tool-panel__header p {
        line-height: 1.35;
    }

    body.aulapress-course-active .aulapress-course-overlay-panel .aulapress-panel-close {
        flex: 0 0 40px;
        height: 40px;
        width: 40px;
    }

    body.aulapress-course-active .aulapress-community-panel.aulapress-course-overlay-panel {
        height: min(720px, calc(100vh - 96px));
    }
}

/* Student task delivery and feedback v0.30.74. */
.aulapress-task-delivery {
    border-top: 1px solid var(--aulapress-border);
    margin-top: 24px;
    padding-top: 20px;
}

.aulapress-task-delivery > header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.aulapress-task-delivery > header small,
.aulapress-task-delivery > header h3 {
    display: block;
    margin: 0;
}

.aulapress-task-delivery > header small {
    color: var(--aulapress-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.aulapress-task-delivery > header h3 {
    font-size: 19px;
}

.aulapress-task-delivery > header > span {
    color: var(--aulapress-muted);
    font-size: 12px;
    text-align: right;
}

.aulapress-task-delivery.is-loading,
.aulapress-task-delivery.is-error,
.aulapress-task-delivery__message {
    background: #f7f9fc;
    border-radius: 8px;
    color: var(--aulapress-muted);
    padding: 12px 14px;
}

.aulapress-task-delivery.is-error {
    background: #fff2f1;
    color: #9f2d27;
}

.aulapress-task-delivery__review {
    background: #f7f9fc;
    border: 1px solid var(--aulapress-border);
    border-left: 4px solid #8795a8;
    border-radius: 9px;
    margin-bottom: 14px;
    padding: 14px;
}

.aulapress-task-delivery__review.is-approved {
    background: #f1faf5;
    border-left-color: #2b8a57;
}

.aulapress-task-delivery__review.is-changes_requested {
    background: #fffaf0;
    border-left-color: #c58b18;
}

.aulapress-task-delivery__review.is-rejected {
    background: #fff4f3;
    border-left-color: #c64740;
}

.aulapress-task-delivery__review-head {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.aulapress-task-delivery__review-head small,
.aulapress-task-delivery__review-head strong {
    display: block;
}

.aulapress-task-delivery__review-head small,
.aulapress-task-delivery__review-head time {
    color: var(--aulapress-muted);
    font-size: 12px;
}

.aulapress-task-delivery__feedback {
    border-top: 1px solid rgba(100, 116, 139, .18);
    margin-top: 12px;
    padding-top: 12px;
}

.aulapress-task-delivery__feedback p,
.aulapress-task-delivery__files p,
.aulapress-task-delivery__deadline {
    margin: 5px 0 0;
}

.aulapress-task-delivery__files {
    margin-top: 12px;
}

.aulapress-task-delivery__files ul {
    margin: 6px 0 0;
    padding-left: 20px;
}

.aulapress-task-submit {
    align-items: end;
    background: #f7f9fc;
    border: 1px solid var(--aulapress-border);
    border-radius: 9px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(190px, 1fr) minmax(220px, 1.4fr) auto;
    padding: 14px;
}

.aulapress-task-submit > div p {
    color: var(--aulapress-muted);
    font-size: 12px;
    margin: 4px 0 0;
}

.aulapress-task-submit__file span {
    display: block;
    font-size: 12px;
    font-weight: 750;
    margin-bottom: 5px;
}

.aulapress-task-submit__file input {
    background: #fff;
    border: 1px solid var(--aulapress-border);
    border-radius: 7px;
    box-sizing: border-box;
    min-height: 42px;
    padding: 6px;
    width: 100%;
}

.aulapress-task-submit .button {
    min-height: 42px;
    white-space: nowrap;
}

.aulapress-task-submit__status {
    color: #9f2d27;
    grid-column: 1 / -1;
    margin: 0;
}

.aulapress-task-delivery__history {
    border-top: 1px solid var(--aulapress-border);
    margin-top: 14px;
    padding-top: 12px;
}

.aulapress-task-delivery__history summary {
    color: var(--aulapress-accent);
    cursor: pointer;
    font-weight: 750;
}

.aulapress-task-delivery__history > div {
    display: grid;
    gap: 4px;
    margin-top: 10px;
}

.aulapress-task-delivery__history span {
    color: var(--aulapress-muted);
    font-size: 12px;
}

@media (max-width: 760px) {
    .aulapress-task-delivery > header,
    .aulapress-task-delivery__review-head {
        display: grid;
        gap: 5px;
    }

    .aulapress-task-delivery > header > span {
        text-align: left;
    }

    .aulapress-task-submit {
        grid-template-columns: 1fr;
    }

    .aulapress-task-submit .button {
        width: 100%;
    }
}

/* Sistema visual ligero RESPIRA: superficies y jerarquia antes que cajas. */
.aulapress-campus {
    --aulapress-space-xs: 4px;
    --aulapress-space-sm: 8px;
    --aulapress-space-md: 12px;
    --aulapress-space-lg: 18px;
    --aulapress-space-xl: 28px;
    --aulapress-border-subtle: #e5eaf2;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 18px;
}
.aulapress-campus__header { margin-bottom: 16px; }
.aulapress-campus__title { font-size: 22px; }
.aulapress-campus__subtitle { font-size: 13px; }
.aulapress-course-grid { gap: 12px; }
.aulapress-course-card,
.aulapress-certificate-card { border-color: var(--aulapress-border-subtle); border-radius: 10px; box-shadow: none; }
.aulapress-course-card:hover,
.aulapress-certificate-card:hover { box-shadow: 0 3px 12px rgba(22,32,51,.06); }
.aulapress-tool-panel,
.aulapress-course-overlay-panel { border-color: var(--aulapress-border-subtle); box-shadow: 0 8px 24px rgba(22,32,51,.08); }

/* Protect campus controls from theme hover overrides v0.30.50. */
@media (hover: hover) and (pointer: fine) {
    .aulapress-campus .aulapress-course-card__title:hover,
    .aulapress-campus .aulapress-course-card__body:hover {
        background: transparent;
        color: inherit;
    }

    .aulapress-campus .aulapress-course-menu__grid > button:hover {
        background: var(--aulapress-surface);
        color: var(--aulapress-text);
    }

    .aulapress-campus .aulapress-module__header:hover,
    .aulapress-campus .aulapress-module__header:focus-visible {
        background: #ffffff;
        color: var(--aulapress-text);
    }

    .aulapress-campus .aulapress-lesson-button:hover,
    .aulapress-campus .aulapress-lesson-button:focus-visible {
        background: #ffffff;
        color: var(--aulapress-text);
    }

    .aulapress-campus .aulapress-lesson-button.is-active:hover,
    .aulapress-campus .aulapress-lesson-button.is-active:focus-visible {
        background: var(--aulapress-accent-soft);
        color: var(--aulapress-accent);
    }
}

/* Explicit exit from the content list v0.30.51. */
.aulapress-content-panel__actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    justify-content: flex-end;
}

/* Private chat list heading on desktop v0.30.52. */
.aulapress-community-list__head {
    min-width: 0;
}

.aulapress-community-list__head h4 {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aulapress-community-list .aulapress-community-list__head > button {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    line-height: 1.1;
    min-height: 34px;
    white-space: nowrap;
    width: auto;
}

.aulapress-content-panel__menu {
    background: #f7f9fc;
    border: 1px solid var(--aulapress-border);
    border-radius: 8px;
    color: var(--aulapress-text);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    min-height: 40px;
    padding: 8px 12px;
    white-space: nowrap;
}

.aulapress-content-panel__menu:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-content-panel__menu:hover {
        background: #ffffff;
        border-color: #c7d0dd;
        color: var(--aulapress-text);
    }
}

@media (min-width: 761px) and (hover: hover) and (pointer: fine) {
    body.aulapress-course-active .aulapress-course-overlay-panel > .aulapress-tool-panel__header > .aulapress-content-panel__actions {
        align-self: start;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }
}

/* Expandable course images v0.30.75. */
.aulapress-image-zoom-trigger {
    cursor: zoom-in;
    display: inline-block;
    line-height: 0;
    max-width: 100%;
    position: relative;
    vertical-align: middle;
}

.aulapress-image-zoom-trigger > img,
.aulapress-image-zoom-trigger > picture,
.aulapress-image-zoom-trigger > picture > img {
    display: block;
    height: auto;
    max-width: 100%;
}

.wp-block-image > .aulapress-image-zoom-trigger {
    display: block;
    width: fit-content;
}

.wp-block-image.aligncenter > .aulapress-image-zoom-trigger {
    margin-left: auto;
    margin-right: auto;
}

.wp-block-image.alignwide > .aulapress-image-zoom-trigger,
.wp-block-image.alignfull > .aulapress-image-zoom-trigger,
.wp-block-image.size-full > .aulapress-image-zoom-trigger {
    width: 100%;
}

.aulapress-image-zoom-trigger__badge {
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(57, 77, 96, .2);
    border-radius: 999px;
    bottom: 8px;
    box-shadow: 0 2px 8px rgba(20, 34, 49, .14);
    height: 32px;
    pointer-events: none;
    position: absolute;
    right: 8px;
    width: 32px;
}

.aulapress-image-zoom-trigger__badge::before {
    border: 2px solid #31485e;
    border-radius: 50%;
    content: '';
    height: 9px;
    left: 8px;
    position: absolute;
    top: 7px;
    width: 9px;
}

.aulapress-image-zoom-trigger__badge::after {
    background: #31485e;
    border-radius: 999px;
    content: '';
    height: 2px;
    left: 17px;
    position: absolute;
    top: 18px;
    transform: rotate(45deg);
    transform-origin: left center;
    width: 8px;
}

.aulapress-image-zoom-trigger:focus-visible {
    border-radius: 6px;
    outline: 3px solid rgba(53, 111, 159, .34);
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    .aulapress-image-zoom-trigger:hover .aulapress-image-zoom-trigger__badge {
        border-color: rgba(53, 111, 159, .48);
        box-shadow: 0 3px 10px rgba(20, 34, 49, .2);
    }
}

body.aulapress-image-viewer-open {
    overflow: hidden !important;
}

.aulapress-image-viewer[hidden] {
    display: none !important;
}

.aulapress-image-viewer {
    box-sizing: border-box;
    display: grid;
    inset: 0;
    padding: max(10px, env(safe-area-inset-top, 0px)) max(10px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));
    place-items: center;
    position: fixed;
    z-index: 2147483000;
}

.aulapress-image-viewer__backdrop {
    appearance: none;
    background: rgba(13, 21, 30, .82);
    border: 0;
    cursor: default;
    inset: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

.aulapress-image-viewer__dialog {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: min(900px, calc(100dvh - 28px));
    max-width: 1200px;
    overflow: hidden;
    position: relative;
    width: min(1200px, calc(100vw - 28px));
    z-index: 1;
}

.aulapress-image-viewer__header {
    align-items: center;
    border-bottom: 1px solid #e2e8ed;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    min-height: 58px;
    padding: 9px 10px 9px 16px;
}

.aulapress-image-viewer__header small,
.aulapress-image-viewer__header strong {
    display: block;
}

.aulapress-image-viewer__header small {
    color: #617283;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.aulapress-image-viewer__header strong {
    color: #1f3040;
    font-size: 16px;
    line-height: 1.2;
}

.aulapress-image-viewer__controls {
    align-items: center;
    display: flex;
    gap: 5px;
}

.aulapress-image-viewer__controls button {
    align-items: center;
    background: #f4f7f9;
    border: 1px solid #d7e0e6;
    border-radius: 8px;
    box-shadow: none;
    color: #263a4d;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 18px;
    font-weight: 700;
    height: 40px;
    justify-content: center;
    margin: 0;
    min-width: 40px;
    padding: 0 10px;
}

.aulapress-image-viewer__controls button:disabled {
    cursor: default;
    opacity: .42;
}

.aulapress-image-viewer__controls button:focus-visible {
    outline: 3px solid rgba(53, 111, 159, .34);
    outline-offset: 2px;
}

.aulapress-image-viewer__controls .aulapress-image-viewer__fit {
    font-size: 12px;
    min-width: 66px;
}

.aulapress-image-viewer__controls .aulapress-image-viewer__close {
    background: #ffffff;
    font-size: 24px;
    margin-left: 3px;
}

.aulapress-image-viewer__controls output {
    color: #526779;
    font-size: 12px;
    font-weight: 700;
    min-width: 45px;
    text-align: center;
}

.aulapress-image-viewer__stage {
    background: #111820;
    box-sizing: border-box;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 16px;
    text-align: center;
    touch-action: pan-x pan-y pinch-zoom;
    -webkit-overflow-scrolling: touch;
}

.aulapress-image-viewer__stage img {
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: none;
    user-select: none;
    -webkit-user-drag: none;
}

.aulapress-image-viewer__caption {
    background: #ffffff;
    border-top: 1px solid #e2e8ed;
    color: #45596b;
    font-size: 12px;
    line-height: 1.4;
    margin: 0;
    max-height: 72px;
    overflow: auto;
    padding: 9px 16px;
}

@media (max-width: 640px) {
    .aulapress-image-viewer {
        padding: 0;
    }

    .aulapress-image-viewer__dialog {
        border: 0;
        border-radius: 0;
        height: 100dvh;
        width: 100vw;
    }

    .aulapress-image-viewer__header {
        align-items: flex-start;
        gap: 7px;
        min-height: 0;
        padding: max(7px, env(safe-area-inset-top, 0px)) 7px 7px;
    }

    .aulapress-image-viewer__header > div:first-child {
        display: none;
    }

    .aulapress-image-viewer__controls {
        justify-content: flex-end;
        width: 100%;
    }

    .aulapress-image-viewer__controls button {
        height: 42px;
        min-width: 42px;
    }

    .aulapress-image-viewer__controls output {
        min-width: 42px;
    }

    .aulapress-image-viewer__stage {
        padding: 10px;
    }

    .aulapress-image-viewer__caption {
        padding-bottom: max(9px, env(safe-area-inset-bottom, 0px));
    }
}

@media (prefers-reduced-motion: reduce) {
    .aulapress-image-viewer *,
    .aulapress-image-zoom-trigger * {
        scroll-behavior: auto !important;
    }
}
