:root {
    --pancake-bg: #ffffff;
    --pancake-panel: #fdfaf6;
    --pancake-surface: #ffffff;
    --pancake-text: #2a2520;
    --pancake-muted: #8a7e73;
    --pancake-primary: #2a2520;
    --pancake-primary-contrast: #f6f2ec;
    --pancake-accent: #c47b3a;
    --pancake-secondary: #ede8df;
    --pancake-sidebar: #ede8df;
    --pancake-sidebar-accent: #d8d0c4;
    --pancake-border: rgba(42, 37, 32, 0.09);
    --pancake-success: #8a9e7a;
    --pancake-danger: #b84040;
    --pancake-shadow-soft: 0 1px 3px rgba(42, 37, 32, 0.04), 0 4px 16px rgba(42, 37, 32, 0.04);
    --pancake-shadow-elevated: 0 2px 8px rgba(42, 37, 32, 0.07), 0 8px 32px rgba(42, 37, 32, 0.07);
    --pancake-radius: 12px;
}

body#pancake {
    background: var(--pancake-bg);
    color: var(--pancake-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    min-height: 100vh;
}

body#pancake.pancake-has-shell {
    overflow-x: hidden;
}

.pancake-sr-only {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.pancake-has-shell {
    background: var(--pancake-bg);
}

.pancake-shell {
    background: var(--pancake-bg);
    display: grid;
    grid-template-columns: 276px minmax(0, 1fr);
    min-height: 100vh;
}

.pancake-sidebar {
    background: var(--pancake-sidebar);
    border-right: 1px solid rgba(42, 37, 32, 0.1);
    display: flex;
    flex-direction: column;
    height: 100vh;
    max-height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    position: sticky;
    top: 0;
}

.pancake-sidebar-brand-row {
    align-items: center;
    border-bottom: 1px solid rgba(42, 37, 32, 0.1);
    display: flex;
    justify-content: center;
    min-height: 126px;
}

.pancake-sidebar-brand {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 18px 22px;
    text-decoration: none;
}

.pancake-sidebar-brand img {
    display: block;
    height: auto;
    max-height: 92px;
    max-width: 142px;
    object-fit: contain;
    width: auto;
}

.pancake-client-switcher {
    border-bottom: 1px solid rgba(42, 37, 32, 0.1);
    display: grid;
    gap: 7px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px 14px;
}

.pancake-client-switcher label {
    color: rgba(42, 37, 32, 0.56);
    font-size: 0.68rem;
    font-weight: 900;
    grid-column: 1 / -1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pancake-client-switcher select {
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(42, 37, 32, 0.12);
    border-radius: 10px;
    color: var(--pancake-text);
    font-size: 0.82rem;
    font-weight: 800;
    min-height: 38px;
    min-width: 0;
    padding: 8px 10px;
    width: 100%;
}

.pancake-client-switcher button {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(42, 37, 32, 0.12);
    border-radius: 10px;
    color: var(--pancake-primary);
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.pancake-client-switcher button:hover,
.pancake-client-switcher button:focus-visible {
    border-color: rgba(196, 123, 58, 0.42);
    box-shadow: 0 0 0 3px rgba(196, 123, 58, 0.08);
}

.pancake-shell-menu-toggle,
.pancake-shell-menu-toggle:visited {
    align-items: center;
    background: var(--pancake-primary);
    border: 1px solid var(--pancake-primary);
    border-radius: 10px;
    color: var(--pancake-primary-contrast);
    cursor: pointer;
    display: none;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 40px;
    padding: 8px 12px;
}

.pancake-shell-button,
.pancake-shell-button:visited {
    align-items: center;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    box-sizing: border-box;
    color: var(--pancake-text);
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 700;
    gap: 8px;
    justify-content: center;
    min-height: 40px;
    padding: 9px 12px;
    text-decoration-color: rgba(42, 37, 32, 0.42);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.pancake-shell-button:hover,
.pancake-shell-button:focus-visible {
    background: #fff;
    border-color: rgba(196, 123, 58, 0.35);
    box-shadow: 0 0 0 3px rgba(196, 123, 58, 0.08);
    color: var(--pancake-primary);
    text-decoration-color: var(--pancake-accent);
}

.pancake-sidebar-nav {
    align-content: start;
    display: grid;
    flex: 1;
    gap: 3px;
    grid-auto-rows: max-content;
    min-height: 0;
    overflow-y: auto;
    padding: 8px 14px 18px;
}

.pancake-sidebar-group {
    border-top: 1px solid rgba(42, 37, 32, 0.09);
    display: grid;
    gap: 3px;
    margin-top: 8px;
    padding-top: 12px;
}

.pancake-sidebar-group p {
    color: rgba(42, 37, 32, 0.56);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 4px;
    padding: 0 10px;
    text-transform: uppercase;
}

.pancake-sidebar-link,
.pancake-sidebar-link:visited {
    align-items: center;
    border-radius: 10px;
    box-sizing: border-box;
    color: #5c5248;
    display: flex;
    font-size: 0.86rem;
    gap: 10px;
    min-height: 40px;
    padding: 8px 12px;
    text-decoration: none;
}

.pancake-sidebar-link i {
    color: currentColor;
    flex: 0 0 18px;
    text-align: center;
}

.pancake-sidebar-link:hover,
.pancake-sidebar-link:focus-visible,
.pancake-sidebar-link.is-active {
    background: var(--pancake-sidebar-accent);
    color: var(--pancake-text);
}

.pancake-sidebar-link.is-active {
    font-weight: 800;
}

.pancake-sidebar-user {
    align-items: center;
    border-top: 1px solid rgba(42, 37, 32, 0.1);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr);
    padding: 14px 14px;
}

.pancake-sidebar-mobile-actions {
    display: none;
}

.pancake-user-chip,
.pancake-user-chip:visited {
    align-items: center;
    color: var(--pancake-text);
    display: grid;
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
    text-decoration: none;
}

.pancake-user-avatar {
    align-items: center;
    background: var(--pancake-primary);
    border-radius: 999px;
    color: var(--pancake-primary-contrast);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.pancake-user-meta {
    display: grid;
    min-width: 0;
}

.pancake-user-meta strong,
.pancake-user-meta small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pancake-user-meta strong {
    font-size: 0.82rem;
}

.pancake-user-meta small {
    color: var(--pancake-muted);
    font-size: 0.72rem;
}

.pancake-sidebar-icon-link,
.pancake-sidebar-icon-link:visited {
    align-items: center;
    border-radius: 8px;
    color: var(--pancake-muted);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    text-decoration: none;
    width: 34px;
}

.pancake-sidebar-icon-link:hover,
.pancake-sidebar-icon-link:focus-visible {
    background: var(--pancake-sidebar-accent);
    color: var(--pancake-text);
}

.pancake-shell-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.pancake-shell-topbar {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid var(--pancake-border);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    min-height: 66px;
    padding: 12px 28px;
    position: sticky;
    top: 0;
    z-index: 30;
}

.pancake-shell-title {
    min-width: 0;
}

.pancake-shell-title p {
    color: var(--pancake-muted);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 3px;
    text-transform: uppercase;
}

.pancake-shell-title h1 {
    color: var(--pancake-text);
    font-size: clamp(1.12rem, 2vw, 1.45rem);
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pancake-shell-tools {
    align-items: center;
    display: flex;
    gap: 8px;
}

.pancake-shell-icon-button,
.pancake-shell-icon-button:visited {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0;
    text-decoration: none;
    width: 40px;
}

.pancake-shell-search {
    align-items: center;
    background: var(--pancake-secondary);
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    color: var(--pancake-muted);
    display: flex;
    gap: 8px;
    min-height: 40px;
    padding: 0 11px;
    width: clamp(180px, 22vw, 280px);
}

.pancake-shell-search:focus-within {
    background: var(--pancake-surface);
    border-color: rgba(196, 123, 58, 0.35);
    box-shadow: 0 0 0 3px rgba(196, 123, 58, 0.08);
}

.pancake-shell-search input {
    background: transparent;
    border: 0;
    color: var(--pancake-text);
    font: inherit;
    font-size: 0.84rem;
    min-width: 0;
    outline: 0;
    width: 100%;
}

.pancake-shell-content {
    min-height: 0;
}

.pancake-has-shell .pancake-page {
    margin: 0 auto;
    max-width: 1120px;
    padding: 34px 28px 48px;
    width: 100%;
}

.pancake-has-shell .pancake-topbar > div:first-child {
    grid-template-columns: minmax(0, 1fr);
}

.pancake-has-shell .pancake-topbar > div:first-child::before {
    display: none;
}

.pancake-has-shell .pancake-topbar > div:first-child > * {
    grid-column: 1;
}

body#pancake.pancake-modal-open {
    overflow: hidden;
}

[hidden] {
    display: none !important;
}

.pancake-app {
    min-height: 100vh;
}

.pancake-footer {
    margin: 0 auto;
    max-width: 1120px;
    padding: 0 24px 32px;
}

.pancake-footer-links {
    align-items: center;
    border-top: 1px solid var(--pancake-border);
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    padding-top: 18px;
}

.pancake-footer-links a {
    color: var(--pancake-muted);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
}

.pancake-footer-links a:hover,
.pancake-footer-links a:focus-visible {
    color: var(--pancake-primary);
    text-decoration: underline;
}

.pancake-screen {
    min-height: 100vh;
    padding: 24px;
}

.pancake-screen-centered {
    align-items: center;
    display: flex;
    justify-content: center;
}

.pancake-login-route {
    background: #fff;
    height: 100vh;
    overflow: hidden;
}

@supports (height: 100dvh) {
    .pancake-login-route {
        height: 100dvh;
    }
}

.pancake-login-route .pancake-app {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.pancake-login-route .pancake-footer {
    display: none;
}

.pancake-login-split {
    background: #fff;
    display: grid;
    grid-template-columns: minmax(320px, 42vw) minmax(0, 1fr);
    height: 100%;
    min-height: 0;
}

.pancake-login-story {
    align-items: start;
    background: #26231d;
    color: #fffaf3;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    min-height: 0;
    padding: clamp(34px, 5vw, 72px);
}

.pancake-login-story p {
    color: rgba(255, 250, 243, 0.46);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin: 0 0 14px;
}

.pancake-login-story h1 {
    color: #fffaf3;
    font-size: clamp(1.55rem, 3vw, 2.55rem);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0;
}

.pancake-login-area {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    min-height: 0;
    padding: 32px;
}

.pancake-login {
    max-width: 360px;
    width: min(100%, 360px);
}

.pancake-login .pancake-brand {
    margin: 0 0 20px;
    text-align: center;
}

.pancake-login .pancake-logo {
    margin-bottom: 10px;
    max-width: 92px;
    width: 92px;
}

.pancake-login h2 {
    color: var(--pancake-text);
    font-size: 1.35rem;
    line-height: 1.15;
    margin: 0 0 6px;
}

.pancake-login .pancake-muted {
    font-size: 0.82rem;
    margin: 0;
}

.pancake-login .pancake-form {
    gap: 8px;
    margin-top: 22px;
}

.pancake-login .pancake-form label {
    color: var(--pancake-text);
    font-size: 0.78rem;
    font-weight: 700;
}

.pancake-login .pancake-form input {
    background: #eee7dd;
    border-color: transparent;
    box-sizing: border-box;
    height: 42px;
    min-height: 0;
    padding: 10px 12px;
}

.pancake-login .pancake-form input:focus-visible {
    background: #fff;
}

.pancake-login .pancake-full-button {
    margin-top: 12px !important;
}

.pancake-page {
    margin: 0 auto;
    max-width: 1120px;
    padding: 40px 24px;
}

.pancake-panel {
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: 0 16px 40px rgba(61, 54, 48, 0.08);
    max-width: 440px;
    padding: 32px;
    width: 100%;
}

.pancake-wide-panel {
    box-sizing: border-box;
    max-width: none;
}

.pancake-brand {
    margin-bottom: 28px;
    text-align: center;
}

.pancake-logo {
    display: block;
    margin: 0 auto 10px;
    max-width: 150px;
    width: 45%;
}

.pancake-brand p,
.pancake-muted {
    color: var(--pancake-muted);
}

.pancake-login h1,
.pancake-topbar h1 {
    margin: 0 0 10px;
}

.pancake-form {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}

.pancake-form input:not([type="checkbox"]):not([type="radio"]),
.pancake-form select,
.pancake-form textarea {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    box-sizing: border-box;
    color: var(--pancake-text);
    font: inherit;
    padding: 12px 14px;
	corner-shape: squircle;
    width: 100%;
}

.pancake-form textarea {
    min-height: 96px;
    resize: vertical;
}

.pancake-form input:focus-visible,
.pancake-form select:focus-visible,
.pancake-form textarea:focus-visible,
.pancake-button:focus-visible,
.pancake-icon-button:focus-visible,
.pancake-link:focus-visible,
.pancake-card:focus-visible {
    outline: 3px solid #f49c3d;
    outline-offset: 3px;
}

.pancake-modal .pancake-form input:not([type="checkbox"]):not([type="radio"]):focus-visible,
.pancake-modal .pancake-form select:focus-visible,
.pancake-modal .pancake-form textarea:focus-visible {
    border-color: #f49c3d;
    box-shadow: inset 0 0 0 1px #f49c3d, 0 0 0 3px rgba(244, 156, 61, 0.14);
    outline: none;
}

.pancake-rich-text-content p {
    margin: 0;
}

.pancake-rich-text-content p + p,
.pancake-rich-text-content ul,
.pancake-rich-text-content ol {
    margin: 0.7rem 0 0;
}

.pancake-rich-text-content ul,
.pancake-rich-text-content ol {
    padding-left: 1.35rem;
}

.pancake-form .tox-tinymce {
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    overflow: hidden;
}

.pancake-form .tox-tinymce:focus-within {
    border-color: rgba(138, 92, 52, 0.48);
    box-shadow: 0 0 0 3px rgba(244, 156, 61, 0.16);
}

.pancake-form .tox .tox-toolbar,
.pancake-form .tox .tox-toolbar__overflow,
.pancake-form .tox .tox-toolbar__primary {
    background: #fffaf4;
}

.pancake-form .tox .tox-edit-area::before {
    border: 0;
}

.pancake-rich-text-content {
    line-height: 1.5;
}

.pancake-rich-text-content a {
    color: var(--pancake-primary);
    font-weight: 700;
}

.pancake-button,
.pancake-button:visited {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    box-sizing: border-box;
    color: var(--pancake-text);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 700;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    text-align: center;
    text-decoration-color: rgba(42, 37, 32, 0.42);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
	corner-shape: squircle;
}

.pancake-button:hover,
.pancake-button:focus-visible {
    border-color: rgba(196, 123, 58, 0.42);
    box-shadow: 0 0 0 3px rgba(196, 123, 58, 0.08);
    color: var(--pancake-primary);
    text-decoration-color: var(--pancake-accent);
}

.pancake-button[disabled],
.pancake-button[aria-disabled="true"],
.pancake-button.is-loading {
    cursor: default;
    opacity: 0.58;
    transform: none;
}

.pancake-primary,
.pancake-primary:visited {
    background: var(--pancake-primary) !important;
    border-radius: 12px !important;
    border-color: var(--pancake-primary) !important;
    color: #fff !important;
    height: auto !important;
    min-height: 42px;
}

.pancake-primary:hover,
.pancake-primary:focus-visible {
    background: #1f1a16 !important;
    border-color: #1f1a16 !important;
    color: #fff !important;
    text-decoration-color: rgba(255, 255, 255, 0.72);
}

.pancake-full-button {
    margin-top: 12px !important;
    width: 100%;
	corner-shape: squircle;
}

.pancake-secondary,
.pancake-secondary:visited {
    background: #fff;
    border-color: var(--pancake-border);
    color: var(--pancake-primary);
}

.pancake-secondary:hover,
.pancake-secondary:focus-visible {
    background: #fff;
    border-color: rgba(196, 123, 58, 0.42);
}

.pancake-danger,
.pancake-danger:visited {
    background: var(--pancake-danger);
    border-color: var(--pancake-danger);
    color: #fff;
}

.pancake-danger:hover,
.pancake-danger:focus-visible {
    background: #9f3434;
    border-color: #9f3434;
    color: #fff;
    text-decoration-color: rgba(255, 255, 255, 0.72);
}

.pancake-action-button,
.pancake-action-button:visited {
    background: var(--pancake-primary);
    border-color: var(--pancake-primary);
    box-shadow: 0 12px 24px rgba(138, 92, 52, 0.18);
    color: #fff;
    min-height: 50px;
    padding-inline: 20px;
}

.pancake-action-button .fa-primary,
.pancake-icon-button .fa-primary {
    color: currentColor;
    opacity: 1;
}

.pancake-action-button .fa-secondary,
.pancake-icon-button .fa-secondary {
    color: currentColor;
    opacity: 0.38;
}

.pancake-icon-button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-primary);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.pancake-icon-button[disabled] {
    cursor: default;
    opacity: 0.42;
}

.pancake-icon-danger {
    background: var(--pancake-danger);
    border-color: var(--pancake-danger);
    color: #fff;
}

.pancake-alert {
    align-items: center;
    background: #fff8f0;
    border: 1px solid #f49c3d;
    border-radius: 12px;
    color: var(--pancake-primary);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 26px;
    margin-top: 18px;
    padding: 12px;
}

.pancake-alert > span {
    flex: 1 1 260px;
    min-width: 0;
}

.pancake-alert.is-hidden {
    display: none;
}

.pancake-alert-action-form {
    flex: 0 0 auto;
    margin: 0;
}

.pancake-alert-close {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 8px;
    color: currentColor;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.pancake-alert-close:focus-visible {
    outline: 3px solid #f49c3d;
    outline-offset: 2px;
}

.pancake-alert-success {
    background: #f3fbf3;
    border-color: var(--pancake-success);
    color: #2d5f2d;
}

.pancake-alert-error {
    background: #fff5f3;
    border-color: #d14b36;
    color: #7a2e24;
}

.pancake-topbar {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 32px;
}

.pancake-topbar > div:first-child {
    align-items: center;
    column-gap: 18px;
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
}

.pancake-topbar > div:first-child::before {
    background: url("../../assets/images/logo-pancake-V1-1.png") center / contain no-repeat;
    content: "";
    display: block;
    flex: 0 0 80px;
    grid-row: 1 / 4;
    height: 80px;
    width: 80px;
}

.pancake-topbar > div:first-child > * {
    grid-column: 2;
}

.pancake-kicker {
    color: var(--pancake-primary);
    font-size: 0.85rem;
    font-weight: 700;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.pancake-step-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    margin: 0 0 8px;
}

.pancake-step-heading .pancake-kicker {
    margin: 0;
}

.pancake-expert-toggle,
.pancake-expert-toggle:visited {
    align-items: center;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-muted);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 6px;
    line-height: 1;
    padding: 6px 10px;
    text-decoration-color: rgba(42, 37, 32, 0.38);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    text-transform: uppercase;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.pancake-expert-toggle:hover,
.pancake-expert-toggle:focus-visible {
    border-color: rgba(196, 123, 58, 0.42);
    box-shadow: 0 0 0 3px rgba(196, 123, 58, 0.08);
    color: var(--pancake-primary);
    text-decoration-color: var(--pancake-accent);
}

.pancake-expert-toggle.is-active {
    background: var(--pancake-primary);
    border-color: var(--pancake-primary);
    color: #fff7ed;
    text-decoration-color: rgba(255, 255, 255, 0.7);
}

.pancake-link,
.pancake-link:visited {
    color: var(--pancake-primary);
    font-weight: 700;
    text-decoration-color: rgba(42, 37, 32, 0.42);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.pancake-link:hover,
.pancake-link:focus-visible {
    color: var(--pancake-primary);
    text-decoration-color: var(--pancake-accent);
}

.pancake-topbar-links {
    align-items: flex-end;
    display: grid;
    gap: 8px;
    justify-items: end;
}

.pancake-actions {
    margin-bottom: 34px;
}

.pancake-section {
    margin-bottom: 34px;
}

.pancake-section h2 {
    margin-bottom: 18px;
}

.pancake-create-project {
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    padding: 24px;
}

.pancake-project-form {
    max-width: 720px;
}

.pancake-field {
    display: grid;
    gap: 8px;
}

.pancake-field label {
    line-height: 1.25;
    margin: 0;
}

.pancake-field-label {
    line-height: 1.25;
}

.pancake-field-header {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.pancake-field-header label {
    min-width: 0;
}

.pancake-sequence-ai-button {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 10px;
}

.pancake-project-form .pancake-field + .pancake-field {
    margin-top: 8px;
}

.pancake-section-title-label {
    color: var(--pancake-text);
    font-size: 1.35rem;
    font-weight: 800;
}

.pancake-short-field {
    max-width: 360px;
}

.pancake-input-with-unit {
    align-items: center;
    display: flex;
    gap: 10px;
}

.pancake-input-with-unit input {
    max-width: 160px;
}

.pancake-input-with-unit span,
.pancake-field-help {
    color: var(--pancake-muted);
}

.pancake-field-help {
    margin: 0;
}

.pancake-wide-form {
    max-width: none;
}

.pancake-two-columns {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-tone-language-row {
    align-items: end;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 220px);
}

.pancake-stepper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 24px;
}

.pancake-step {
    align-items: center;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-muted);
    display: inline-flex;
    font-weight: 700;
    gap: 8px;
    min-height: 42px;
    padding: 8px 12px;
    text-decoration: none;
}

.pancake-step span {
    align-items: center;
    background: rgba(138, 92, 52, 0.1);
    border-radius: 50%;
    display: inline-flex;
    height: 26px;
    justify-content: center;
    width: 26px;
}

.pancake-step.is-active {
    background: var(--pancake-primary);
    border-color: var(--pancake-primary);
    color: #fff;
}

.pancake-step.is-active span {
    background: rgba(255, 255, 255, 0.2);
}

.pancake-goal-fieldset {
    border: 0;
    display: grid;
    gap: 12px;
    margin: 10px 0 8px;
    padding: 0;
}

.pancake-goal-fieldset legend {
    color: var(--pancake-text);
    font-size: 1.35rem;
    font-weight: 800;
    margin-bottom: 6px;
    padding: 0;
}

.pancake-goal-fieldset p {
    margin: 0;
}

.pancake-goal-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 10px;
}

.pancake-format-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 10px;
}

.pancake-goal-card {
    cursor: pointer;
    display: block;
    position: relative;
}

.pancake-goal-input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.pancake-goal-content {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    box-shadow: 0 10px 22px rgba(61, 54, 48, 0.04);
    color: var(--pancake-text);
    display: grid;
    gap: 10px;
    min-height: 150px;
    padding: 22px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pancake-format-content {
    align-items: start;
    gap: 8px 12px;
    grid-template-columns: auto 1fr;
    min-height: 118px;
    padding: 18px;
}

.pancake-format-content .pancake-goal-icon {
    height: 38px;
    width: 38px;
}

.pancake-goal-icon {
    align-items: center;
    background: rgba(138, 92, 52, 0.1);
    border-radius: 50%;
    color: var(--pancake-primary);
    display: inline-flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.pancake-goal-icon .fa-primary {
    opacity: 1;
}

.pancake-goal-icon .fa-secondary {
    opacity: 0.36;
}

.pancake-goal-content strong {
    display: block;
}

.pancake-goal-content span:last-child {
    color: var(--pancake-muted);
}

.pancake-format-content small {
    color: var(--pancake-primary);
    font-size: 0.86rem;
    font-weight: 700;
    grid-column: 2;
}

.pancake-goal-input:checked + .pancake-goal-content {
    border-color: var(--pancake-primary);
    box-shadow: 0 14px 28px rgba(138, 92, 52, 0.14);
    transform: translateY(-1px);
}

.pancake-goal-input:focus-visible + .pancake-goal-content {
    outline: 3px solid #f49c3d;
    outline-offset: 3px;
}

.pancake-goal-input:disabled + .pancake-goal-content {
    cursor: default;
    opacity: 0.48;
}

.pancake-format-duration {
    align-items: baseline;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-primary);
    display: inline-flex;
    gap: 4px;
    margin: 8px 0 0;
    padding: 10px 12px;
    white-space: nowrap;
}

.pancake-format-duration-muted {
    background: #fff;
    color: var(--pancake-muted);
}

.pancake-plan-duration-block {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.pancake-plan-duration-block .pancake-format-duration {
    margin: 0;
}

.pancake-plan-duration-form {
    align-items: end;
    background: #fffdf9;
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 0;
    padding: 14px;
}

.pancake-plan-duration-form label {
    color: var(--pancake-text);
    display: grid;
    flex: 1 1 240px;
    font-weight: 700;
    gap: 4px;
}

.pancake-plan-duration-form small {
    color: var(--pancake-muted);
    font-weight: 500;
}

.pancake-plan-duration-form input {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-text);
    font: inherit;
    max-width: 160px;
    min-height: 44px;
    padding: 0 12px;
}

.pancake-version-form {
    align-items: end;
    display: grid;
    gap: 8px;
    margin-top: 16px;
    max-width: 420px;
}

.pancake-version-form-between {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    box-sizing: border-box;
    border-radius: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 16px 0 0;
    padding: 14px;
    max-width: none;
    width: 100%;
}

.pancake-version-select-form {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.pancake-version-clear-form {
    align-self: end;
}

.pancake-version-form label {
    color: var(--pancake-muted);
    font-weight: 700;
}

.pancake-version-form select {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-text);
    min-height: 44px;
    padding: 10px 34px 10px 12px;
    width: 100%;
}

.pancake-version-clear-form .pancake-icon-button {
    height: 44px;
    width: 44px;
}

.pancake-history-notice {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-muted);
    margin: 14px 0 0;
    padding: 12px;
}

.pancake-recap-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 24px 0;
}

.pancake-recap-item {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    padding: 14px;
}

.pancake-recap-item dt {
    color: var(--pancake-primary);
    font-size: 0.82rem;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.pancake-recap-item dd {
    margin: 0;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

.pancake-ai-status {
    align-items: center;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    display: flex;
    gap: 16px;
    margin: 24px 0;
    padding: 18px;
}

.pancake-ai-status > div:last-child {
    flex: 1;
    min-width: 0;
}

.pancake-ai-status h3,
.pancake-ai-status p {
    margin: 0;
}

.pancake-ai-status p + p {
    margin-top: 6px;
}

.pancake-ai-status-icon {
    align-items: center;
    background: rgba(138, 92, 52, 0.1);
    border-radius: 50%;
    color: var(--pancake-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.6rem;
    height: 56px;
    justify-content: center;
    width: 56px;
}

.pancake-ai-status-completed {
    background: #f3fbf3;
    border-color: var(--pancake-success);
}

.pancake-ai-status-failed {
    background: #fff5f3;
    border-color: #d14b36;
}

.pancake-preparation-progress {
    margin-top: 14px;
}

.pancake-preparation-bar {
    background: #efe1d1;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.pancake-preparation-bar span {
    background: var(--pancake-primary);
    border-radius: inherit;
    display: block;
    height: 100%;
    transition: width 0.25s ease;
}

.pancake-preparation-steps {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

.pancake-preparation-steps li {
    align-items: center;
    background: rgba(255, 255, 255, 0.65);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-muted);
    display: flex;
    gap: 8px;
    padding: 8px 10px;
}

.pancake-preparation-steps span {
    align-items: center;
    background: #f4eadf;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.78rem;
    font-weight: 700;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.pancake-preparation-steps strong {
    font-size: 0.88rem;
}

.pancake-preparation-steps .is-current,
.pancake-preparation-steps .is-done {
    border-color: rgba(80, 135, 82, 0.45);
    color: var(--pancake-text);
}

.pancake-preparation-steps .is-current span,
.pancake-preparation-steps .is-done span {
    background: #e7f3e6;
    color: #2f6b35;
}

.pancake-preparation-steps .is-failed {
    border-color: rgba(209, 75, 54, 0.45);
    color: var(--pancake-text);
}

.pancake-preparation-steps .is-failed span {
    background: #ffe2dc;
    color: #9e2f21;
}

.pancake-ai-spinner {
    animation: pancake-spin 1.1s linear infinite;
}

@keyframes pancake-spin {
    to {
        transform: rotate(360deg);
    }
}

.pancake-preview-layout {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
}

.pancake-referential-block {
    margin-bottom: 18px;
}

.pancake-referential-summary {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 18px;
}

.pancake-referential-summary p {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 12px;
}

.pancake-referential-summary span {
    color: var(--pancake-muted);
}

.pancake-format-reasons {
    background: #f7fbf7;
    border: 1px solid rgba(86, 132, 86, 0.28);
    border-radius: 12px;
    color: #355735;
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0 0 18px;
    padding: 12px;
}

.pancake-bloom-list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin: 0 0 18px;
}

.pancake-bloom-list div {
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    padding: 10px;
    text-align: center;
}

.pancake-bloom-list dt {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.pancake-bloom-list dd {
    color: var(--pancake-primary);
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0;
}

.pancake-preview-block {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    padding: 20px;
}

.pancake-preview-block h3 {
    margin-top: 0;
}

.pancake-preview-text {
    background: #fffaf3;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-text);
    font: 0.95rem/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    max-height: 520px;
    overflow: auto;
    padding: 16px;
    white-space: pre-wrap;
}

.pancake-source-list {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pancake-source-list li {
    border-bottom: 1px solid var(--pancake-border);
    display: grid;
    gap: 4px;
    padding-bottom: 10px;
}

.pancake-source-list span {
    color: var(--pancake-muted);
}

.pancake-source-list small {
    color: var(--pancake-muted);
    overflow-wrap: anywhere;
}

.pancake-content-analysis-block {
    margin-bottom: 18px;
}

.pancake-ingredient-adjustments {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.pancake-ingredient-adjustments-toggle {
    align-items: center;
    background: #fff8ef;
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    padding: 16px;
}

.pancake-ingredient-adjustments-toggle > div {
    display: grid;
    gap: 3px;
    min-width: 240px;
}

.pancake-ingredient-adjustments-toggle > div > p,
.pancake-ingredient-adjustments-toggle > div > strong,
.pancake-ingredient-adjustments-toggle > div > span {
    margin: 0;
}

.pancake-ingredient-adjustments-toggle > div > strong {
    color: var(--pancake-text);
}

.pancake-ingredient-adjustments-toggle > div > span {
    color: var(--pancake-muted);
    font-size: 0.9rem;
}

.pancake-ingredient-adjustments-toggle .pancake-button {
    flex: 0 0 auto;
}

.pancake-ingredient-adjustments.is-expanded .pancake-ingredient-adjustments-toggle {
    border-color: rgba(138, 92, 52, 0.32);
    box-shadow: 0 10px 24px rgba(61, 54, 48, 0.06);
}

.pancake-ingredient-adjustments-body {
    display: grid;
    gap: 18px;
}

.pancake-ingredient-footer {
    display: grid;
    gap: 12px;
    margin-top: 18px;
    width: 100%;
}

.pancake-ingredient-footer .pancake-inline-warning {
    box-sizing: border-box;
    display: flex;
    width: 100%;
}

.pancake-ingredient-footer-actions {
    justify-content: space-between;
    margin-top: 0;
    width: 100%;
}

.pancake-ingredient-footer-actions .pancake-button {
    min-width: 180px;
}

.pancake-brief-footer-actions {
    justify-content: space-between;
}

.pancake-brief-footer-actions .pancake-button {
    min-width: 180px;
}

.pancake-preparation-analysis {
    margin-top: 0;
}

.pancake-preparation-analysis h4 {
    margin: 18px 0 10px;
}

.pancake-preparation-analysis .pancake-recap-item {
    display: grid;
    gap: 6px;
}

.pancake-preparation-analysis .pancake-recap-item strong {
    color: var(--pancake-primary);
    font-size: 0.82rem;
    text-transform: uppercase;
}

.pancake-preparation-analysis .pancake-recap-item span {
    color: var(--pancake-text);
    font-weight: 700;
}

.pancake-preparation-analysis .pancake-analysis-action {
    font-size: 0.88rem;
    margin-top: 8px;
    min-height: 36px;
    padding: 8px 12px;
    width: 100%;
}

.pancake-guidance-block {
    margin-top: 0;
}

.pancake-guidance-block p {
    margin-bottom: 0;
}

.pancake-guidance-actions {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.pancake-guidance-actions .pancake-button {
    min-height: 42px;
}

.pancake-guidance-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}

.pancake-guidance-panel {
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 16px;
}

.pancake-guidance-panel legend {
    color: var(--pancake-primary);
    font-weight: 800;
    padding: 0 6px;
}

.pancake-guidance-panel label,
.pancake-topic-row label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.pancake-guidance-panel label span,
.pancake-topic-row label span {
    color: var(--pancake-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.pancake-guidance-panel select,
.pancake-guidance-panel textarea,
.pancake-topic-row input,
.pancake-topic-row select {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    box-sizing: border-box;
    color: var(--pancake-text);
    font: inherit;
    max-width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    width: 100%;
}

.pancake-topic-row input:focus-visible,
.pancake-topic-row select:focus-visible {
    box-shadow: inset 0 0 0 1px rgba(244, 156, 61, 0.22);
    outline: 2px solid #f49c3d;
    outline-offset: -3px;
}

.pancake-guidance-panel textarea {
    line-height: 1.45;
    resize: vertical;
}

.pancake-guidance-checks {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-guidance-checks label {
    align-items: center;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    display: flex;
    gap: 8px;
    padding: 9px 10px;
}

.pancake-guidance-checks input {
    flex: 0 0 auto;
}

.pancake-guidance-select-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-guidance-warnings {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
}

.pancake-guidance-warnings li {
    background: #fff8f0;
    border: 1px solid #e6c9ad;
    border-radius: 10px;
    color: var(--pancake-text);
    padding: 10px 12px;
}

.pancake-guidance-topics {
    margin-top: 0;
}

.pancake-guidance-topics h4 {
    margin: 0 0 10px;
}

.pancake-topic-list {
    display: grid;
    gap: 10px;
}

.pancake-topic-row {
    align-items: end;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    column-gap: 18px;
    grid-template-columns: minmax(260px, 1fr) 210px 120px;
    padding: 12px;
    row-gap: 12px;
}

.pancake-topic-row small {
    color: var(--pancake-muted);
    padding-bottom: 11px;
    text-align: right;
    white-space: nowrap;
}

.pancake-inline-warning {
    align-items: center;
    background: #fff4ed;
    border: 1px solid #f0b7a8;
    border-radius: 12px;
    color: #9a3412;
    display: inline-flex;
    font-size: 0.92rem;
    font-weight: 700;
    margin: 0;
    min-height: 42px;
    padding: 10px 12px;
}

.pancake-check-list {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pancake-check-list li {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    color: var(--pancake-text);
    padding: 10px 12px;
}

.pancake-analysis-alerts {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
}

.pancake-analysis-alerts li {
    background: #fff5f3;
    border: 1px solid #d14b36;
    border-radius: 12px;
    color: #7a2e24;
    padding: 10px 12px;
}

.pancake-theme-list {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
}

.pancake-theme-list > li {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.pancake-theme-list span {
    color: var(--pancake-primary);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-theme-list small {
    color: var(--pancake-muted);
}

.pancake-structure-preview {
    border-top: 1px solid var(--pancake-border);
    margin-top: 22px;
    padding-top: 20px;
}

.pancake-structure-header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.pancake-structure-header h4,
.pancake-structure-header p {
    margin: 0;
}

.pancake-structure-header p {
    color: var(--pancake-muted);
    margin-top: 6px;
}

.pancake-branding-preview {
    display: inline-flex;
    gap: 8px;
}

.pancake-branding-preview span {
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    box-shadow: inset 0 0 0 2px #fff;
    display: block;
    height: 30px;
    width: 30px;
}

.pancake-project-branding {
    border-top: 1px solid var(--pancake-border);
    display: grid;
    gap: 16px;
    margin-top: 20px;
    padding-top: 20px;
}

.pancake-branding-inherit-form {
    margin: 12px 0;
}

.pancake-branding-logo-field {
    display: grid;
    gap: 8px;
}

.pancake-branding-logo-field > label {
    font-weight: 700;
}

.pancake-branding-logo-control {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pancake-branding-logo-preview {
    align-items: center;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    display: flex;
    height: 58px;
    justify-content: center;
    margin: 0;
    padding: 8px;
    width: 92px;
}

.pancake-branding-logo-preview img {
    display: block;
    max-height: 42px;
    max-width: 76px;
    object-fit: contain;
}

.pancake-branding-logo-input {
    display: grid;
    flex: 1 1 280px;
    gap: 6px;
    min-width: min(280px, 100%);
}

.pancake-branding-logo-input small {
    color: var(--pancake-muted);
}

.pancake-branding-color-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.pancake-branding-color-field {
    display: grid;
    gap: 8px;
}

.pancake-branding-color-field label {
    font-weight: 700;
}

.pancake-branding-color-control {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-form .pancake-branding-color-control input[type="color"] {
    border-radius: 10px;
    cursor: pointer;
    flex: 0 0 auto;
    height: 42px;
    padding: 4px;
    width: 54px;
}

.pancake-branding-color-swatch {
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    box-shadow: inset 0 0 0 3px #fff;
    display: inline-block;
    flex: 0 0 auto;
    height: 34px;
    width: 34px;
}

.pancake-branding-color-value {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-text);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1;
    min-width: 86px;
    padding: 10px 12px;
    text-align: center;
    text-transform: uppercase;
}

.pancake-branding-color-reset {
    height: 38px;
    width: 38px;
}

.pancake-structure-stats {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    flex: 0 0 auto;
    gap: 2px;
    min-width: 112px;
    padding: 10px 12px;
    text-align: center;
}

.pancake-structure-stats span {
    color: var(--pancake-primary);
    font-size: 1.2rem;
    font-weight: 800;
}

.pancake-structure-stats small {
    color: var(--pancake-muted);
    font-weight: 700;
}

.pancake-structure-list {
    display: grid;
    gap: 12px;
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
}

.pancake-structure-list > li {
    background: linear-gradient(90deg, rgba(255, 248, 240, 0.92), rgba(255, 255, 255, 0.82));
    border: 1px dashed rgba(138, 92, 52, 0.28);
    border-radius: 12px;
    padding: 12px;
}

.pancake-structure-sequence {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto 1fr;
}

.pancake-structure-sequence > span {
    align-items: center;
    background: rgba(138, 92, 52, 0.12);
    border-radius: 999px;
    color: var(--pancake-primary);
    display: inline-flex;
    font-weight: 800;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.pancake-structure-sequence strong,
.pancake-structure-sequence small {
    display: block;
}

.pancake-structure-sequence small {
    color: var(--pancake-muted);
    margin-top: 4px;
}

.pancake-structure-activities {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 12px 0 0 46px;
    padding: 0;
}

.pancake-structure-activities > li {
    align-items: center;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(166, 124, 82, 0.12);
    border-radius: 10px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto minmax(140px, 0.7fr);
    min-height: 40px;
    padding: 8px 10px;
}

.pancake-structure-activities span {
    font-weight: 800;
    overflow-wrap: anywhere;
}

.pancake-structure-activities em {
    color: var(--pancake-primary);
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.pancake-structure-activities small {
    color: var(--pancake-muted);
}

.pancake-structure-quiz {
    align-items: center;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    justify-content: space-between;
    margin-top: 12px;
    padding: 12px;
}

.pancake-structure-quiz span {
    color: var(--pancake-muted);
}

.pancake-plan-result {
    margin-top: 18px;
}

.pancake-learning-objectives {
    margin-top: 18px;
}

.pancake-recipe-workspace {
    margin-top: 18px;
}

.pancake-recipe-tabbar {
    align-items: flex-end;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 14px 16px;
}

.pancake-recipe-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.pancake-recipe-tab {
    appearance: none;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-muted);
    cursor: pointer;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 800;
    min-height: 40px;
    padding: 8px 14px;
}

.pancake-recipe-tab:hover,
.pancake-recipe-tab:focus-visible {
    border-color: rgba(166, 124, 82, 0.55);
    color: var(--pancake-primary);
    outline: none;
}

.pancake-recipe-tab.is-active {
    background: var(--pancake-primary);
    border-color: var(--pancake-primary);
    color: #fff;
}

.pancake-recipe-tab-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.pancake-recipe-edit-action {
    flex: 0 0 auto;
    white-space: nowrap;
}

.pancake-recipe-tab-panel {
    margin-top: 14px;
}

.pancake-recipe-workspace.is-tabs-ready .pancake-recipe-tab-panel[hidden] {
    display: none;
}

.pancake-recipe-tab-panel > .pancake-preview-block,
.pancake-recipe-tab-panel > .pancake-plan-action-groups {
    margin-top: 0;
}

.pancake-objective-list {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
}

.pancake-objective-list > li {
    align-items: flex-start;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 14px;
}

.pancake-objective-content {
    display: grid;
    gap: 5px;
}

.pancake-objective-content span {
    color: var(--pancake-primary);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-objective-content small,
.pancake-objective-content p {
    color: var(--pancake-muted);
}

.pancake-objective-actions {
    display: inline-flex;
    gap: 8px;
}

.pancake-objective-actions form {
    display: inline-flex;
}

.pancake-highlight-title {
    align-items: center;
    display: inline-flex;
    gap: 10px;
}

.pancake-highlight-title::after {
    align-items: center;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(138, 92, 52, 0.08);
    content: "🥞";
    display: inline-flex;
    font-size: 0.78em;
    height: 1.45em;
    justify-content: center;
    line-height: 1;
    width: 1.45em;
}

.pancake-plan-result-header,
.pancake-plan-summary-row {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.pancake-plan-summary-row {
    align-items: center;
    margin-top: 8px;
}

.pancake-plan-summary-row p {
    flex: 1;
}

.pancake-plan-edit-toggle.is-active {
    background: var(--pancake-primary);
    border-color: var(--pancake-primary);
    color: #fff;
}

.pancake-plan-list {
    counter-reset: none;
    display: grid;
    gap: 14px;
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
}

.pancake-plan-edit-toolbar {
    align-items: center;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 18px;
    padding: 12px;
}

.pancake-plan-edit-toolbar-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-plan-edit-toolbar-actions form {
    margin: 0;
}

.pancake-plan-edit-status {
    color: var(--pancake-muted);
    font-size: 0.9rem;
    font-weight: 800;
}

.pancake-plan-edit-workspace {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
    margin-top: 18px;
}

.pancake-plan-edit-workspace .pancake-plan-list {
    margin-top: 0;
}

.pancake-plan-edit-panel {
    position: sticky;
    top: 18px;
}

.pancake-plan-edit-panel-inner {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    box-shadow: 0 18px 42px rgba(83, 54, 30, 0.1);
    display: grid;
    gap: 14px;
    max-height: calc(100vh - 36px);
    overflow: auto;
    padding: 18px;
}

.pancake-plan-panel-head {
    border-bottom: 1px solid var(--pancake-border);
    display: grid;
    gap: 6px;
    padding-bottom: 12px;
}

.pancake-plan-panel-head h3 {
    margin: 0;
}

.pancake-plan-panel-head span {
    color: var(--pancake-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.pancake-plan-panel-head span.is-warning {
    color: #8a5a1f;
}

.pancake-plan-panel-tabs {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 4px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 4px;
}

.pancake-plan-panel-tabs button {
    background: transparent;
    border: 0;
    border-radius: 9px;
    color: var(--pancake-muted);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    min-height: 38px;
    padding: 8px 10px;
}

.pancake-plan-panel-tabs button.is-active {
    background: #fff;
    box-shadow: 0 7px 18px rgba(83, 54, 30, 0.08);
    color: var(--pancake-primary);
}

.pancake-plan-panel-section {
    display: grid;
    gap: 12px;
}

.pancake-plan-panel-section h4 {
    margin: 0;
}

.pancake-plan-list > li {
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    padding: 14px;
}

.pancake-plan-edit-card,
.pancake-activity-edit-card {
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pancake-plan-edit-card:hover,
.pancake-activity-edit-card:hover,
.pancake-plan-edit-card.is-selected,
.pancake-activity-edit-card.is-selected {
    border-color: rgba(138, 92, 52, 0.42);
    box-shadow: 0 12px 28px rgba(83, 54, 30, 0.08);
}

.pancake-plan-edit-card.is-selected,
.pancake-activity-edit-card.is-selected {
    outline: 2px solid rgba(166, 124, 82, 0.22);
}

.pancake-objective-list > li.is-dragging,
.pancake-plan-edit-card.is-dragging,
.pancake-activity-edit-card.is-dragging {
    opacity: 0.58;
}

.pancake-objective-list > li[draggable="true"] {
    cursor: grab;
}

.pancake-plan-edit-card.is-reordering,
.pancake-activity-edit-card.is-reordering {
    cursor: progress;
}

.pancake-objective-list > li.is-reordering,
.pancake-plan-edit-card.is-reordering,
.pancake-activity-edit-card.is-reordering {
    background: #fffaf4;
    transform: translateY(-2px);
}

.pancake-objective-actions form.is-loading,
.pancake-plan-actions form.is-loading,
.pancake-activity-actions form.is-loading {
    opacity: 0.58;
    pointer-events: none;
}

[data-pancake-sortable].is-drop-target {
    outline: 2px dashed rgba(138, 92, 52, 0.28);
    outline-offset: 6px;
}

.pancake-plan-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 12px;
}

.pancake-plan-actions form {
    display: inline-flex;
}

.pancake-plan-sequence-header {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto 1fr auto;
}

.pancake-plan-sequence-header strong,
.pancake-plan-sequence-header small {
    display: block;
}

.pancake-plan-sequence-header small {
    color: var(--pancake-muted);
    font-weight: 500;
    margin-top: 4px;
}

.pancake-plan-sequence-header .pancake-plan-card-meta {
    color: var(--pancake-primary);
    font-weight: 800;
}

.pancake-plan-sequence-number {
    align-items: center;
    background: rgba(138, 92, 52, 0.12);
    border-radius: 999px;
    color: var(--pancake-primary);
    display: inline-flex;
    font-weight: 800;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.pancake-plan-duration {
    color: var(--pancake-primary);
    font-weight: 800;
    white-space: nowrap;
}

.pancake-activity-list {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
}

.pancake-activity-list > li {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    padding: 12px;
    scroll-margin-top: 96px;
}

.pancake-plan-edit-card {
    scroll-margin-top: 96px;
}

.pancake-plan-edit-card:target,
.pancake-activity-edit-card:target {
    animation: pancake-target-pulse 1.4s ease-out;
    border-color: rgba(138, 92, 52, 0.64);
    box-shadow: 0 0 0 4px rgba(188, 135, 78, 0.16), 0 16px 38px rgba(56, 39, 25, 0.12);
}

@keyframes pancake-target-pulse {
    0% {
        background: #fff1dc;
        box-shadow: 0 0 0 8px rgba(188, 135, 78, 0.22), 0 18px 44px rgba(56, 39, 25, 0.16);
        transform: translateY(-2px);
    }

    100% {
        background: #fff8f0;
        box-shadow: 0 0 0 4px rgba(188, 135, 78, 0.16), 0 16px 38px rgba(56, 39, 25, 0.12);
        transform: translateY(0);
    }
}

.pancake-activity-header {
    align-items: baseline;
    display: grid;
    gap: 8px;
    grid-template-columns: auto 1fr auto auto auto;
}

.pancake-activity-edit-button {
    height: 34px;
    width: 34px;
}

.pancake-activity-actions {
    display: inline-flex;
    gap: 6px;
}

.pancake-activity-actions form {
    display: inline-flex;
}

.pancake-activity-content-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.pancake-activity-content-row form {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-activity-content-row form.is-loading {
    cursor: progress;
}

.pancake-activity-content-status {
    color: var(--pancake-muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.pancake-activity-content-status.is-loading {
    color: var(--pancake-accent);
}

.pancake-activity-content-status.is-success {
    color: var(--pancake-success);
}

.pancake-activity-content-status.is-error {
    color: #7a2e24;
}

.pancake-activity-quality {
    background: #f6fbf5;
    border: 1px solid #cfe4cf;
    border-radius: 8px;
    color: #426b43;
    display: inline-flex;
    flex-wrap: wrap;
    font-size: 0.84rem;
    font-weight: 700;
    gap: 5px;
    margin: 8px 0 0;
    padding: 6px 9px;
}

.pancake-activity-quality.is-warning {
    background: #fff7e8;
    border-color: #f0d1a1;
    color: #8a5a1f;
}

.pancake-activity-state {
    align-items: center;
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    margin: 8px 0 0;
    padding: 5px 9px;
}

.pancake-activity-state.is-missing {
    background: #fff7e8;
    border-color: #f0d1a1;
    color: #8a5a1f;
}

.pancake-activity-state.is-ready {
    background: #f0faf3;
    border-color: #cfe4cf;
    color: #426b43;
}

.pancake-activity-state.is-edited {
    background: #eef7ff;
    border-color: #bad7ef;
    color: #325d7b;
}

.pancake-activity-state.is-stale {
    background: #fff3e6;
    border-color: #e8bc7d;
    color: #8a5a1f;
}

.pancake-activity-state.is-error {
    background: #fff1ef;
    border-color: #e8b3a9;
    color: #7a2e24;
}

.pancake-small-button {
    min-height: 36px;
    padding: 8px 12px;
}

.pancake-add-activity-button {
    align-items: center;
    background: transparent;
    border: 1px dashed rgba(138, 92, 52, 0.28);
    border-radius: 12px;
    color: var(--pancake-primary);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    margin-top: 10px;
    min-height: 42px;
    padding: 10px 14px;
}

.pancake-activity-header span {
    color: var(--pancake-primary);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-activity-header em {
    color: var(--pancake-primary);
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.pancake-duration-source {
    color: var(--pancake-muted);
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.pancake-activity-list p {
    color: var(--pancake-muted);
    margin: 8px 0 0;
}

.pancake-repeatable-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.pancake-repeatable-controls .pancake-icon-button {
    height: 32px;
    width: 32px;
}

.pancake-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    padding: 0 !important;
}

.pancake-block-image-field,
.pancake-block-video-field,
.pancake-block-pdf-field {
    display: grid;
    gap: 10px;
}

.pancake-image-dropzone {
    align-items: center;
    background: #fff;
    border: 1px dashed rgba(138, 92, 52, 0.38);
    border-radius: 10px;
    color: var(--pancake-muted);
    cursor: pointer;
    display: flex;
    gap: 10px;
    justify-content: center;
    min-height: 76px;
    padding: 14px;
    text-align: center;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.pancake-image-dropzone:hover,
.pancake-image-dropzone.is-dragover {
    background: #fffaf3;
    border-color: var(--pancake-primary);
    box-shadow: 0 10px 22px rgba(138, 92, 52, 0.08);
}

.pancake-image-dropzone i {
    color: var(--pancake-primary);
}

.pancake-block-image-preview,
.pancake-render-image {
    margin: 0;
}

.pancake-block-image-preview img,
.pancake-render-image img {
    aspect-ratio: 16 / 9;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    display: block;
    max-height: 360px;
    object-fit: contain;
    width: 100%;
}

.pancake-plan-cover-field {
    background: #fffaf3;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    padding: 12px;
}

.pancake-plan-cover-preview img {
    max-height: 220px;
    object-fit: cover;
}

.pancake-render-image {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.pancake-render-media-card {
    display: grid;
    gap: 12px;
}

.pancake-render-document-link {
    align-items: center;
    background: #fffaf3;
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    color: var(--pancake-primary);
    display: inline-flex;
    font-weight: 700;
    gap: 8px;
    padding: 10px 12px;
    text-decoration: none;
}

.pancake-render-document-link:hover {
    border-color: var(--pancake-primary);
    box-shadow: 0 8px 18px rgba(138, 92, 52, 0.1);
}

.pancake-render-video {
    background: #111;
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    display: block;
    max-height: 420px;
    width: 100%;
}

.pancake-render-video-embed {
    aspect-ratio: 16 / 9;
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    overflow: hidden;
}

.pancake-render-video-embed iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.pancake-render-image figcaption {
    color: var(--pancake-muted);
    font-size: 0.9rem;
}

.pancake-ingredient-layout {
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(280px, 0.85fr) minmax(320px, 1.15fr);
    margin: 24px 0;
}

.pancake-upload-box {
    background: rgba(255, 255, 255, 0.72);
    display: grid;
    gap: 16px;
}

.pancake-dropzone {
    border: 1px dashed rgba(138, 92, 52, 0.42);
    border-radius: 18px;
    cursor: pointer;
    display: grid;
    gap: 10px;
    min-height: 212px;
    padding: 24px;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pancake-dropzone:hover,
.pancake-dropzone.is-dragover {
    background: #fffaf3;
    border-color: var(--pancake-primary);
    box-shadow: 0 14px 28px rgba(138, 92, 52, 0.1);
    transform: translateY(-1px);
}

.pancake-dropzone:focus-visible {
    outline: 3px solid #f49c3d;
    outline-offset: 3px;
}

.pancake-dropzone > span:not(.pancake-goal-icon),
.pancake-file-list small {
    color: var(--pancake-muted);
}

.pancake-file-picker,
.pancake-selected-file {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    padding: 12px;
}

.pancake-file-picker {
    color: var(--pancake-primary) !important;
    font-weight: 700;
    text-align: center;
}

.pancake-selected-file {
    overflow-wrap: anywhere;
}

.pancake-hidden-file {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.pancake-ingredient-list {
    display: grid;
    gap: 14px;
}

.pancake-ingredient-list h3 {
    margin: 0;
}

.pancake-file-list {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pancake-file-list li {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: auto 1fr auto;
    padding: 12px;
}

.pancake-file-icon {
    align-items: center;
    background: rgba(138, 92, 52, 0.1);
    border-radius: 10px;
    color: var(--pancake-primary);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.pancake-file-list strong,
.pancake-file-list small {
    display: block;
}

.pancake-checkline {
    align-items: center;
    display: flex;
    gap: 10px;
}

.pancake-checkline input {
    height: 18px;
    width: 18px;
}

.pancake-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fill, minmax(280px, 360px));
    justify-content: start;
}

.pancake-card {
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    color: var(--pancake-text);
    display: grid;
    gap: 8px;
    padding: 24px;
    text-align: left;
    text-decoration: none;
}

.pancake-has-shell .pancake-card,
.pancake-has-shell .pancake-panel,
.pancake-has-shell .pancake-info-card,
.pancake-has-shell .pancake-info-output {
    box-shadow: var(--pancake-shadow-soft);
}

.pancake-has-shell .pancake-card:hover {
    box-shadow: var(--pancake-shadow-elevated);
    transform: translateY(-1px);
}

.pancake-dashboard-page,
.pancake-project-page {
    display: grid;
    gap: 24px;
}

.pancake-dashboard-page .pancake-topbar {
    margin-bottom: 0;
}

.pancake-dashboard-stats {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pancake-project-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pancake-stat-card {
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    box-shadow: var(--pancake-shadow-soft);
    display: grid;
    gap: 6px;
    min-height: 124px;
    padding: 18px;
}

.pancake-stat-card span {
    color: var(--pancake-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.pancake-stat-card strong {
    color: var(--pancake-text);
    font-size: clamp(1.45rem, 3vw, 2.15rem);
    line-height: 1;
}

.pancake-stat-card small {
    color: var(--pancake-muted);
    font-size: 0.84rem;
}

.pancake-stat-card.is-accent {
    background: var(--pancake-primary);
    border-color: var(--pancake-primary);
    color: var(--pancake-primary-contrast);
}

.pancake-stat-card.is-accent span,
.pancake-stat-card.is-accent strong,
.pancake-stat-card.is-accent small {
    color: currentColor;
}

.pancake-section-heading {
    align-items: end;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.pancake-section-heading h2,
.pancake-section-heading p {
    margin: 0;
}

.pancake-create-tile {
    align-items: center;
    background: var(--pancake-panel);
    border: 1px dashed rgba(42, 37, 32, 0.22);
    border-radius: 18px;
    color: var(--pancake-text);
    cursor: pointer;
    display: grid;
    gap: 4px 14px;
    grid-template-columns: auto minmax(0, 1fr);
    margin-bottom: 18px;
    min-height: 92px;
    padding: 18px;
    text-align: left;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    width: 100%;
}

.pancake-create-tile > span {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    color: var(--pancake-accent);
    display: inline-flex;
    font-size: 1.2rem;
    font-weight: 900;
    grid-row: 1 / 3;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.pancake-create-tile strong {
    font-size: 1rem;
}

.pancake-create-tile small {
    color: var(--pancake-muted);
    font-size: 0.86rem;
}

.pancake-create-tile:hover,
.pancake-create-tile:focus-visible {
    border-color: rgba(196, 123, 58, 0.48);
    box-shadow: var(--pancake-shadow-elevated);
    transform: translateY(-1px);
}

.pancake-project-action-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-project-action-grid .pancake-create-tile {
    margin-bottom: 0;
}

.pancake-project-card-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.pancake-project-page .pancake-project-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.pancake-design-card {
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: var(--pancake-shadow-soft);
    color: var(--pancake-text);
    min-height: 280px;
    overflow: hidden;
    position: relative;
    transition: box-shadow 160ms ease, transform 160ms ease;
}

.pancake-design-card:hover,
.pancake-design-card:focus-within {
    box-shadow: var(--pancake-shadow-elevated);
    transform: translateY(-1px);
}

.pancake-project-open-layer {
    border-radius: inherit;
    inset: 0;
    position: absolute;
    z-index: 1;
}

.pancake-project-cover,
.pancake-recipe-cover {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 138px;
}

.pancake-project-cover {
    background: #ece6dc;
}

.pancake-project-cover.tone-1 {
    background: #efe2d6;
}

.pancake-project-cover.tone-2 {
    background: #dce8e4;
}

.pancake-project-cover.tone-3 {
    background: #e6e1ee;
}

.pancake-project-cover.tone-4 {
    background: #e7ead8;
}

.pancake-project-cover.tone-5 {
    background: #e4e7ed;
}

.pancake-project-cover img {
    display: block;
    height: auto;
    max-height: 92px;
    max-width: 132px;
    object-fit: contain;
}

.pancake-recipe-cover {
    background: linear-gradient(135deg, #f5efe8 0%, #e6ded3 100%);
}

.pancake-recipe-cover span {
    align-items: center;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(42, 37, 32, 0.08);
    border-radius: 18px;
    color: var(--pancake-primary);
    display: inline-flex;
    font-size: 2.1rem;
    font-weight: 900;
    height: 74px;
    justify-content: center;
    width: 74px;
}

.pancake-project-body,
.pancake-recipe-tile .pancake-project-summary {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.pancake-project-tile .pancake-project-body,
.pancake-recipe-tile .pancake-project-summary {
    padding-bottom: 76px;
}

.pancake-project-tile .pancake-project-body > p:not(.pancake-card-eyebrow) {
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pancake-recipe-tile .pancake-project-summary > p:not(.pancake-card-eyebrow) {
    display: -webkit-box;
    line-clamp: 5;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pancake-project-body h3,
.pancake-recipe-tile .pancake-project-summary h3 {
    font-size: 1.18rem;
    line-height: 1.2;
    margin: 0;
}

.pancake-project-body p,
.pancake-recipe-tile .pancake-project-summary p {
    color: var(--pancake-muted);
    line-height: 1.45;
    margin: 0;
}

.pancake-card-eyebrow {
    color: var(--pancake-accent) !important;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pancake-card-tagline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.pancake-card-tagline .pancake-card-eyebrow {
    margin: 0;
}

.pancake-session-code-pill {
    background: #ede8df;
    border: 1px solid rgba(42, 37, 32, 0.08);
    border-radius: 999px;
    color: var(--pancake-muted);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    padding: 6px 9px;
    white-space: nowrap;
}

.pancake-card-meta {
    color: var(--pancake-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.84rem;
    gap: 8px;
}

.pancake-project-footer {
    align-items: center;
    bottom: 14px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    left: 14px;
    position: absolute;
    right: 14px;
    z-index: 2;
}

.pancake-project-footer .pancake-card-meta {
    min-width: 0;
}

.pancake-project-footer .pancake-card-meta span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pancake-card-actions {
    align-items: center;
    bottom: 14px;
    display: flex;
    gap: 8px;
    position: absolute;
    right: 14px;
    z-index: 2;
}

.pancake-project-footer .pancake-card-actions {
    bottom: auto;
    flex: 0 0 auto;
    position: static;
    right: auto;
}

.pancake-card-actions form {
    display: flex;
}

.pancake-card-actions .pancake-icon-button {
    box-shadow: 0 8px 18px rgba(42, 37, 32, 0.08);
}

.pancake-design-card > .pancake-form {
    margin: 0;
    padding: 20px;
    position: relative;
    z-index: 2;
}

.pancake-project-hero {
    align-items: center;
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 22px;
    box-shadow: var(--pancake-shadow-soft);
    display: grid;
    gap: 24px;
    grid-template-columns: 180px minmax(0, 1fr);
    padding: 24px;
}

.pancake-project-hero-media {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    display: flex;
    justify-content: center;
    min-height: 148px;
}

.pancake-project-hero-media img {
    max-height: 112px;
    max-width: 148px;
}

.pancake-project-hero h1,
.pancake-project-hero p {
    margin: 0 0 10px;
}

.pancake-project-hero .pancake-link {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.pancake-workflow-page {
    display: grid;
    gap: 22px;
}

.pancake-workflow-hero {
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 22px;
    box-shadow: var(--pancake-shadow-soft);
    margin-bottom: 0;
    padding: 24px;
}

.pancake-workflow-hero .pancake-topbar-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.pancake-workflow-hero .pancake-link {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    display: inline-flex;
    min-height: 38px;
    padding: 8px 12px;
}

.pancake-workflow-hero .pancake-link:hover,
.pancake-workflow-hero .pancake-link:focus-visible {
    border-color: rgba(196, 123, 58, 0.42);
    box-shadow: 0 0 0 3px rgba(196, 123, 58, 0.08);
}

.pancake-workflow-stepper {
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    box-shadow: var(--pancake-shadow-soft);
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0;
    padding: 8px;
}

.pancake-workflow-stepper .pancake-step {
    background: transparent;
    border: 0;
    border-radius: 12px;
    justify-content: center;
    min-height: 54px;
    padding: 10px 12px;
}

.pancake-workflow-stepper .pancake-step:hover,
.pancake-workflow-stepper .pancake-step:focus-visible {
    background: var(--pancake-secondary);
    color: var(--pancake-text);
}

.pancake-workflow-stepper .pancake-step.is-active {
    background: var(--pancake-primary);
    box-shadow: 0 10px 20px rgba(42, 37, 32, 0.12);
    color: var(--pancake-primary-contrast);
}

.pancake-workflow-stepper .pancake-step.is-active:hover,
.pancake-workflow-stepper .pancake-step.is-active:focus-visible {
    background: var(--pancake-primary);
    color: var(--pancake-primary-contrast);
}

.pancake-workflow-stepper .pancake-step.is-active span {
    background: rgba(255, 255, 255, 0.18);
    color: var(--pancake-primary-contrast);
}

.pancake-workflow-panel {
    background: var(--pancake-surface);
    border-radius: 22px;
    box-shadow: var(--pancake-shadow-soft);
    padding: 28px;
}

.pancake-workflow-panel > h2 {
    font-size: clamp(1.55rem, 3vw, 2rem);
    line-height: 1.15;
    margin-bottom: 8px;
}

.pancake-workflow-panel > .pancake-muted {
    margin-top: 0;
}

.pancake-product-page,
.pancake-account-page {
    display: grid;
    gap: 22px;
}

.pancake-product-hero,
.pancake-account-hero {
    align-items: center;
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 22px;
    box-shadow: var(--pancake-shadow-soft);
    display: grid;
    gap: 22px;
    padding: 26px;
}

.pancake-product-hero {
    grid-template-columns: minmax(0, 1fr) auto;
}

.pancake-account-hero {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.pancake-product-hero h1,
.pancake-account-hero h1,
.pancake-product-hero p,
.pancake-account-hero p {
    margin: 0 0 10px;
}

.pancake-product-hero-badge,
.pancake-account-avatar-large {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(42, 37, 32, 0.06);
    color: var(--pancake-primary);
    display: inline-flex;
    justify-content: center;
}

.pancake-product-hero-badge {
    display: grid;
    gap: 8px;
    min-height: 116px;
    min-width: 132px;
    padding: 18px;
    text-align: center;
}

.pancake-product-hero-badge i {
    color: var(--pancake-accent);
    font-size: 1.7rem;
}

.pancake-product-hero-badge span {
    color: var(--pancake-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pancake-account-avatar-large {
    color: var(--pancake-primary);
    font-size: 2rem;
    font-weight: 900;
    height: 86px;
    width: 86px;
}

.pancake-product-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pancake-roadmap-card {
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: var(--pancake-shadow-soft);
    display: grid;
    gap: 10px;
    padding: 20px;
}

.pancake-roadmap-card h2,
.pancake-roadmap-card p {
    margin: 0;
}

.pancake-roadmap-card p {
    color: var(--pancake-muted);
    line-height: 1.45;
}

.pancake-roadmap-icon {
    align-items: center;
    background: var(--pancake-secondary);
    border-radius: 14px;
    color: var(--pancake-accent);
    display: inline-flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.pancake-product-panel {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.pancake-product-panel h2,
.pancake-product-panel p {
    margin: 0 0 8px;
}

.pancake-user-list {
    display: grid;
    gap: 10px;
    min-width: min(100%, 420px);
}

.pancake-user-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 14px;
}

.pancake-user-row strong,
.pancake-user-row small {
    display: block;
}

.pancake-user-row small {
    color: var(--pancake-muted);
}

.pancake-user-admin-form {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pancake-user-admin-form label {
    display: grid;
    gap: 7px;
}

.pancake-user-admin-form label span {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.pancake-user-admin-form label small,
.pancake-field small {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.pancake-user-admin-form input,
.pancake-user-admin-form select {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    box-sizing: border-box;
    min-height: 42px;
    padding: 9px 12px;
    width: 100%;
}

.pancake-user-admin-form > .pancake-button {
    align-self: end;
    justify-content: center;
}

.pancake-password-input-wrap {
    color: var(--pancake-ink);
    display: block;
    font-size: 1rem;
    font-weight: 400;
    position: relative;
}

.pancake-user-admin-form label .pancake-password-input-wrap {
    color: var(--pancake-ink);
    font-size: 1rem;
    font-weight: 400;
}

.pancake-password-input-wrap input {
    padding-right: 88px;
}

.pancake-password-toggle {
    align-items: center;
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    box-shadow: none;
    color: var(--pancake-primary);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.74rem;
    font-weight: 800;
    height: 30px;
    justify-content: center;
    line-height: 1;
    padding: 0 8px;
    position: absolute;
    right: 6px;
    text-decoration: underline;
    text-decoration-color: rgba(42, 37, 32, 0.38);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    top: 50%;
    transform: translateY(-50%);
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
    white-space: nowrap;
}

.pancake-password-toggle:hover,
.pancake-password-toggle:focus-visible {
    background: #fff;
    border-color: rgba(196, 123, 58, 0.42);
    box-shadow: 0 0 0 3px rgba(196, 123, 58, 0.08);
    outline: none;
}

.pancake-password-policy {
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    grid-column: 1 / -1;
    padding: 14px;
}

.pancake-password-strength {
    background: rgba(42, 37, 32, 0.08);
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.pancake-password-strength span {
    background: #c9504d;
    border-radius: inherit;
    display: block;
    height: 100%;
    transition: width 180ms ease, background-color 180ms ease;
    width: 0;
}

.pancake-password-strength span[data-strength="3"],
.pancake-password-strength span[data-strength="4"] {
    background: #c47b3a;
}

.pancake-password-strength span[data-strength="5"] {
    background: #508752;
}

.pancake-password-strength-label,
.pancake-password-match {
    color: var(--pancake-muted);
    font-size: 0.88rem;
    font-weight: 700;
    margin: 0;
}

.pancake-password-criteria {
    display: grid;
    gap: 8px 12px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.pancake-password-criteria li {
    align-items: center;
    color: var(--pancake-muted);
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 700;
    gap: 8px;
    line-height: 1.25;
}

.pancake-password-criteria li::before {
    background: #fff;
    border: 1px solid rgba(42, 37, 32, 0.16);
    border-radius: 999px;
    content: "";
    flex: 0 0 auto;
    height: 9px;
    width: 9px;
}

.pancake-password-criteria li.is-valid {
    color: #315f33;
}

.pancake-password-criteria li.is-valid::before {
    background: #508752;
    border-color: #508752;
}

.pancake-password-criteria li.is-missing::before {
    border-color: rgba(201, 80, 77, 0.4);
}

.pancake-password-match.is-valid {
    color: #315f33;
}

.pancake-password-match.is-error {
    color: #9c3c39;
}

.pancake-user-platform-toggle {
    align-items: flex-start;
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    display: grid !important;
    gap: 4px 10px !important;
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 12px;
}

.pancake-user-platform-toggle input {
    height: 18px;
    margin-top: 2px;
    width: 18px;
}

.pancake-user-platform-toggle span,
.pancake-user-platform-toggle small {
    grid-column: 2;
}

.pancake-user-platform-toggle small {
    color: var(--pancake-muted);
    line-height: 1.35;
}

.pancake-user-platform-toggle-modal {
    grid-column: 1 / -1;
}

.pancake-user-create-modal-form {
    margin-top: 18px;
}

.pancake-user-create-modal-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-user-admin-heading {
    align-items: flex-start;
    gap: 18px;
}

.pancake-user-heading-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.pancake-user-delete-form {
    display: none;
}

.pancake-user-edit-danger-actions {
    border-top: 1px solid var(--pancake-border);
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
    padding-top: 18px;
}

.pancake-user-edit-form {
    display: grid;
    gap: 18px;
}

.pancake-user-edit-submit-actions {
    display: flex;
    justify-content: center;
    margin-top: 2px;
}

.pancake-user-edit-section-heading {
    margin: 22px 0 14px;
}

.pancake-user-edit-section-heading h3 {
    font-size: 1.2rem;
    margin: 0;
}

.pancake-user-security-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-user-access-profile-form {
    margin: 10px 0 16px;
}

.pancake-user-owned-content-warning {
    align-items: flex-start;
    display: flex;
    margin: 12px 0 16px;
    width: 100%;
}

.pancake-user-transfer-form {
    display: grid;
    gap: 16px;
}

.pancake-user-owned-content-list {
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 8px;
    max-height: 180px;
    overflow: auto;
    padding: 12px;
}

.pancake-user-owned-content-list span {
    color: var(--pancake-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.pancake-capability-overrides {
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    margin: 12px 0 16px;
    overflow: hidden;
}

.pancake-capability-overrides summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 14px 16px;
}

.pancake-capability-overrides summary::-webkit-details-marker {
    display: none;
}

.pancake-capability-overrides summary::after {
    color: var(--pancake-muted);
    content: "+";
    font-size: 1.2rem;
    font-weight: 800;
}

.pancake-capability-overrides[open] summary::after {
    content: "-";
}

.pancake-capability-overrides summary strong,
.pancake-capability-overrides summary small {
    display: block;
}

.pancake-capability-overrides summary small {
    color: var(--pancake-muted);
    font-size: 0.82rem;
    margin-top: 3px;
}

.pancake-capability-group {
    border-top: 1px solid var(--pancake-border);
    padding: 16px;
}

.pancake-capability-group h3 {
    font-size: 0.92rem;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.pancake-capability-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-capability-field {
    align-items: start;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(42, 37, 32, 0.08);
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 0.35fr);
    padding: 12px;
}

.pancake-capability-field span,
.pancake-capability-field strong,
.pancake-capability-field small,
.pancake-capability-field em {
    display: block;
}

.pancake-capability-field strong {
    color: var(--pancake-ink);
    font-size: 0.9rem;
}

.pancake-capability-field small,
.pancake-capability-field em {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    line-height: 1.35;
    margin-top: 3px;
}

.pancake-capability-field em {
    font-style: normal;
    font-weight: 800;
}

.pancake-capability-field select,
.pancake-capability-field input {
    align-self: start;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    box-sizing: border-box;
    min-height: 38px;
    padding: 8px 10px;
    width: 100%;
}

.pancake-user-filter-bar {
    align-items: end;
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, 1.4fr) minmax(160px, 0.8fr) minmax(150px, 0.7fr) auto auto;
    margin: 18px 0 12px;
    padding: 14px;
}

.pancake-user-filter-bar label {
    display: grid;
    gap: 7px;
}

.pancake-user-filter-bar label span {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.pancake-user-filter-bar input,
.pancake-user-filter-bar select {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    box-sizing: border-box;
    min-height: 42px;
    padding: 9px 12px;
    width: 100%;
}

.pancake-user-filter-bar .pancake-button {
    align-items: center;
    background: #fff;
    border-color: var(--pancake-border);
    border-radius: 10px;
    box-sizing: border-box;
    color: var(--pancake-primary);
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    line-height: 1;
    min-height: 42px;
    padding: 0 12px;
    text-decoration-color: rgba(42, 37, 32, 0.42);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.pancake-user-list-summary {
    color: var(--pancake-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.88rem;
    font-weight: 700;
    gap: 10px 18px;
    justify-content: space-between;
    margin: 8px 0 12px;
}

.pancake-empty-state {
    background: #fff;
    border: 1px dashed var(--pancake-border);
    border-radius: 16px;
    color: var(--pancake-muted);
    display: grid;
    gap: 8px;
    padding: 20px;
}

.pancake-empty-state strong {
    color: var(--pancake-ink);
}

.pancake-empty-state p {
    margin: 0;
}

.pancake-user-table {
    display: grid;
    gap: 8px;
}

.pancake-import-report-table {
    margin-top: 28px;
}

.pancake-user-table-head,
.pancake-user-list-row {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(190px, 1.35fr) minmax(180px, 1.15fr) minmax(120px, 0.75fr) minmax(86px, 0.55fr) minmax(130px, 0.75fr) auto;
}

.pancake-user-table-head {
    color: var(--pancake-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    padding: 0 14px;
    text-transform: uppercase;
}

.pancake-user-list-row {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    box-shadow: 0 14px 28px rgba(31, 28, 24, 0.05);
    padding: 12px 14px;
}

.pancake-user-list-row.is-selected {
    border-color: rgba(162, 113, 67, 0.5);
    box-shadow: 0 18px 36px rgba(162, 113, 67, 0.14);
}

.pancake-import-report-table .pancake-user-table-head,
.pancake-import-report-table .pancake-user-list-row {
    gap: 14px;
    grid-template-columns:
        minmax(58px, 0.42fr)
        minmax(260px, 1.65fr)
        minmax(110px, 0.72fr)
        minmax(120px, 0.78fr)
        minmax(130px, 0.78fr)
        minmax(160px, 1fr);
}

.pancake-import-report-table .pancake-user-table-head span,
.pancake-import-report-table .pancake-user-list-row > span {
    min-width: 0;
}

.pancake-import-report-table .pancake-user-table-head span:nth-child(5),
.pancake-import-report-table .pancake-user-list-row > span:nth-child(5) {
    text-align: center;
}

.pancake-import-report-table .pancake-status-pill {
    justify-self: stretch;
}

.pancake-import-report-table .pancake-import-status-pill.is-success {
    background: #edf7ed;
    border-color: rgba(80, 135, 82, 0.22);
    color: #315f33;
}

.pancake-import-report-table .pancake-import-status-pill.is-warning {
    background: #fff4e4;
    border-color: rgba(196, 123, 58, 0.32);
    color: #9a5a13;
}

.pancake-import-report-table .pancake-import-status-pill.is-error {
    background: #fff0f0;
    border-color: rgba(184, 64, 64, 0.3);
    color: var(--pancake-danger);
}

.pancake-import-report-table .pancake-import-status-pill.is-neutral {
    background: #f8f4ee;
    border-color: var(--pancake-border);
    color: var(--pancake-muted);
}

.pancake-import-report-table .pancake-import-message-cell {
    color: var(--pancake-muted);
    font-size: 0.84rem;
    line-height: 1.28;
}

.pancake-connect-tracking-table {
    margin-top: 24px;
}

.pancake-connect-tracking-table .pancake-user-table-head,
.pancake-connect-tracking-table .pancake-user-list-row {
    gap: 14px;
    grid-template-columns:
        minmax(170px, 1.1fr)
        minmax(210px, 1.35fr)
        minmax(126px, 0.7fr)
        minmax(96px, 0.55fr)
        minmax(96px, 0.55fr)
        minmax(92px, 0.55fr)
        minmax(138px, 0.78fr);
}

.pancake-connect-tracking-table .pancake-user-list-row > span {
    min-width: 0;
}

.pancake-panel-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.pancake-connect-report-table {
    margin-top: 22px;
}

.pancake-connect-report-table .pancake-user-table-head,
.pancake-connect-report-table .pancake-user-list-row {
    gap: 14px;
}

.pancake-connect-report-table .pancake-user-list-row > span {
    min-width: 0;
}

.pancake-connect-report-table .pancake-user-list-row strong,
.pancake-connect-report-table .pancake-user-list-row small {
    display: block;
    min-width: 0;
}

.pancake-connect-report-table .pancake-user-list-row small {
    color: var(--pancake-muted);
    font-size: 0.82rem;
    margin-top: 3px;
    overflow-wrap: anywhere;
}

.pancake-connect-report-sessions-table .pancake-user-table-head,
.pancake-connect-report-sessions-table .pancake-user-list-row {
    grid-template-columns:
        minmax(210px, 1.45fr)
        minmax(150px, 0.86fr)
        minmax(100px, 0.62fr)
        minmax(100px, 0.62fr)
        minmax(108px, 0.66fr)
        minmax(108px, 0.66fr)
        minmax(70px, 0.42fr);
}

.pancake-connect-report-learners-table .pancake-user-table-head,
.pancake-connect-report-learners-table .pancake-user-list-row,
.pancake-connect-report-modules-table .pancake-user-table-head,
.pancake-connect-report-modules-table .pancake-user-list-row {
    grid-template-columns:
        minmax(220px, 1.5fr)
        minmax(92px, 0.5fr)
        minmax(92px, 0.5fr)
        minmax(92px, 0.5fr)
        minmax(108px, 0.62fr)
        minmax(108px, 0.62fr)
        minmax(110px, 0.62fr);
}

.pancake-connect-report-detail-table .pancake-user-table-head,
.pancake-connect-report-detail-table .pancake-user-list-row {
    grid-template-columns:
        minmax(170px, 1.1fr)
        minmax(210px, 1.35fr)
        minmax(126px, 0.7fr)
        minmax(96px, 0.55fr)
        minmax(96px, 0.55fr)
        minmax(92px, 0.55fr)
        minmax(138px, 0.78fr);
}

.pancake-connect-tracking-table .pancake-user-list-row strong,
.pancake-connect-tracking-table .pancake-user-list-row small {
    display: block;
    min-width: 0;
}

.pancake-connect-tracking-table .pancake-user-list-row small {
    color: var(--pancake-muted);
    font-size: 0.82rem;
    margin-top: 3px;
    overflow-wrap: anywhere;
}

.pancake-connect-tracking-table .pancake-tracking-status-pill {
    justify-self: stretch;
}

.pancake-connect-tracking-table .pancake-tracking-status-pill.is-completed {
    background: #edf7ed;
    border-color: rgba(80, 135, 82, 0.22);
    color: #315f33;
}

.pancake-connect-tracking-table .pancake-tracking-status-pill.is-in_progress {
    background: #fff4e4;
    border-color: rgba(196, 123, 58, 0.32);
    color: #9a5a13;
}

.pancake-connect-tracking-table .pancake-tracking-status-pill.is-not-started {
    background: #f8f4ee;
    border-color: var(--pancake-border);
    color: var(--pancake-muted);
}

.pancake-user-list-row > span,
.pancake-user-list-account small {
    color: var(--pancake-muted);
    overflow-wrap: anywhere;
}

.pancake-user-list-account {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr);
}

.pancake-user-list-account strong,
.pancake-user-list-account small {
    display: block;
}

.pancake-user-list-actions {
    display: flex;
    justify-content: flex-end;
}

.pancake-user-list-actions .pancake-button {
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 0.86rem;
    font-weight: 800;
    height: 42px;
    line-height: 1;
    min-height: 42px;
    padding: 0 12px;
    white-space: nowrap;
}

.pancake-user-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 14px;
}

.pancake-user-pagination-status {
    color: var(--pancake-muted);
    font-size: 0.9rem;
    font-weight: 800;
}

.pancake-user-pagination .is-disabled {
    opacity: 0.55;
    pointer-events: none;
}

.pancake-user-admin-list {
    display: grid;
    gap: 14px;
}

.pancake-user-admin-card {
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    box-shadow: var(--pancake-shadow-soft);
    display: grid;
    gap: 16px;
    padding: 16px;
}

.pancake-user-admin-card-head {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.pancake-user-admin-card-head strong,
.pancake-user-admin-card-head small {
    display: block;
}

.pancake-user-admin-card-head small {
    color: var(--pancake-muted);
    overflow-wrap: anywhere;
}

.pancake-user-admin-form--compact {
    border-top: 1px solid var(--pancake-border);
    padding-top: 14px;
}

.pancake-user-admin-meta {
    align-items: end;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.pancake-user-admin-meta small,
.pancake-user-admin-readonly {
    color: var(--pancake-muted);
}

.pancake-user-admin-readonly {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.pancake-user-admin-readonly div {
    display: grid;
    gap: 4px;
}

.pancake-user-admin-readonly dt {
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-user-admin-readonly dd {
    margin: 0;
}

.pancake-access-profile-page {
    max-width: 1280px;
}

.pancake-access-profile-layout {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(260px, 320px) minmax(620px, 1fr);
    max-width: 100%;
}

.pancake-access-profile-list-panel,
.pancake-access-profile-editor-panel {
    align-self: start;
    box-sizing: border-box;
    max-width: none;
    min-width: 0;
    overflow: hidden;
}

.pancake-access-profile-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.pancake-access-profile-card {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    padding: 12px;
}

.pancake-access-profile-card.is-selected {
    border-color: rgba(162, 113, 67, 0.5);
    box-shadow: 0 14px 28px rgba(162, 113, 67, 0.12);
}

.pancake-access-profile-card a,
.pancake-access-profile-card a:visited {
    color: inherit;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    text-decoration: none;
}

.pancake-access-profile-card strong,
.pancake-access-profile-card small,
.pancake-access-profile-card em {
    display: block;
}

.pancake-access-profile-card small {
    color: var(--pancake-muted);
    line-height: 1.35;
    margin-top: 4px;
}

.pancake-access-profile-card em {
    align-self: start;
    background: #f2f7f0;
    border: 1px solid #cadfca;
    border-radius: 999px;
    color: #315f33;
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 800;
    padding: 4px 8px;
    text-align: center;
    white-space: nowrap;
}

.pancake-access-profile-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pancake-access-profile-badges span {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-muted);
    font-size: 0.72rem;
    font-weight: 800;
    padding: 3px 7px;
}

.pancake-access-profile-editor-heading {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.pancake-access-profile-form {
    display: grid;
    gap: 16px;
    margin-top: 16px;
    min-width: 0;
}

.pancake-access-profile-meta-form {
    align-items: start;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    min-width: 0;
}

.pancake-access-profile-meta-form label,
.pancake-access-profile-meta-form input,
.pancake-access-profile-meta-form select {
    min-width: 0;
}

.pancake-access-profile-meta-form input:disabled,
.pancake-access-profile-meta-form select:disabled {
    color: var(--pancake-muted);
    opacity: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pancake-access-profile-usage {
    align-self: stretch;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 2px;
    min-height: 42px;
    padding: 8px 12px;
}

.pancake-access-profile-usage strong,
.pancake-access-profile-usage span {
    display: block;
}

.pancake-access-profile-usage span {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.pancake-access-profile-capability-group {
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    min-width: 0;
}

.pancake-access-profile-capability-group .pancake-capability-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.pancake-access-profile-capability-group .pancake-capability-field {
    grid-template-columns: minmax(0, 1fr) minmax(110px, 150px);
    min-width: 0;
}

.pancake-access-profile-capability-group .pancake-capability-field select,
.pancake-access-profile-capability-group .pancake-capability-field input {
    min-width: 0;
}

.pancake-access-profile-actions,
.pancake-access-profile-delete-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.pancake-access-profile-delete-form {
    border-top: 1px solid var(--pancake-border);
    margin-top: 18px;
    padding-top: 16px;
}

.pancake-access-profile-delete-form p {
    margin: 0;
}

.pancake-access-profile-audit-panel {
    box-sizing: border-box;
    margin-top: 20px;
}

.pancake-access-profile-audit-header {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.pancake-access-profile-audit-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.pancake-access-profile-audit-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.pancake-access-profile-audit-tabs a,
.pancake-access-profile-audit-tabs a:visited {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-text);
    display: inline-flex;
    gap: 8px;
    font-weight: 800;
    padding: 8px 12px;
    text-decoration: none;
}

.pancake-access-profile-audit-tabs a.is-active {
    background: #fff8f0;
    border-color: rgba(162, 113, 67, 0.5);
    color: var(--pancake-primary);
}

.pancake-access-profile-audit-tabs em {
    background: rgba(61, 54, 48, 0.08);
    border-radius: 999px;
    color: var(--pancake-muted);
    font-size: 0.76rem;
    font-style: normal;
    min-width: 24px;
    padding: 2px 7px;
    text-align: center;
}

.pancake-access-profile-audit-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.pancake-access-profile-audit-list article {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 4px;
    padding: 12px 14px;
}

.pancake-access-profile-audit-list strong,
.pancake-access-profile-audit-list span,
.pancake-access-profile-audit-list small {
    display: block;
}

.pancake-access-profile-audit-list span,
.pancake-access-profile-audit-list small {
    color: var(--pancake-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.pancake-access-profile-audit-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 16px;
}

.pancake-access-profile-audit-pagination > span {
    color: var(--pancake-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.pancake-access-profile-audit-pagination > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-role-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-status-pill {
    align-items: center;
    background: #edf7ed;
    border: 1px solid rgba(80, 135, 82, 0.22);
    border-radius: 999px;
    color: #315f33;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 800;
    justify-content: center;
    line-height: 1.1;
    min-height: 24px;
    padding: 6px 10px;
    text-align: center;
    white-space: nowrap;
}

.pancake-alert.is-success {
    background: #edf7ed;
    border-color: rgba(80, 135, 82, 0.24);
    color: #315f33;
}

.pancake-alert.is-error {
    background: #fff3f0;
    border-color: rgba(184, 64, 64, 0.28);
    color: var(--pancake-danger);
}

.pancake-performance-debug {
    background: #1f1c18;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    box-shadow: 0 18px 36px rgba(31, 28, 24, 0.18);
    color: #f8f4ee;
    font-size: 0.82rem;
    margin: 18px 32px 32px;
    overflow: hidden;
}

.pancake-performance-debug details {
    padding: 0;
}

.pancake-performance-debug summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 16px;
}

.pancake-performance-debug summary span {
    font-weight: 900;
    text-transform: uppercase;
}

.pancake-performance-debug summary strong {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    padding: 5px 9px;
}

.pancake-performance-debug summary small,
.pancake-performance-debug p {
    color: rgba(248, 244, 238, 0.72);
}

.pancake-performance-debug p {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin: 0;
    padding: 10px 16px 14px;
}

.pancake-performance-debug a,
.pancake-performance-debug a:visited {
    color: #ffd08a;
}

.pancake-performance-debug-grid {
    display: grid;
    gap: 1px;
    max-height: 420px;
    overflow: auto;
}

.pancake-performance-debug-head,
.pancake-performance-debug-row {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(180px, 1.3fr) minmax(80px, 0.45fr) minmax(80px, 0.45fr) minmax(180px, 1.4fr);
    padding: 8px 16px;
}

.pancake-performance-debug-head {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 244, 238, 0.72);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.pancake-performance-debug-row {
    background: rgba(255, 255, 255, 0.04);
}

.pancake-performance-debug-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.pancake-connect-page,
.pancake-learner-page {
    display: grid;
    gap: 26px;
}

.pancake-connect-layout {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(340px, 420px) minmax(0, 1fr);
    margin-top: 4px;
}

.pancake-connect-sidebar,
.pancake-connect-main {
    display: grid;
    gap: 18px;
}

.pancake-connect-sidebar {
    max-width: none;
    padding: 28px;
}

.pancake-connect-main > .pancake-panel {
    max-width: none;
    padding: 28px;
}

.pancake-connect-page .pancake-dashboard-stats {
    margin-bottom: 4px;
}

.pancake-connect-page .pancake-form label:not(.pancake-inline-check) {
    display: grid;
    gap: 7px;
}

.pancake-connect-page .pancake-form label > span {
    color: var(--pancake-text);
    font-size: 0.88rem;
    font-weight: 700;
}

.pancake-connect-page .pancake-form input,
.pancake-connect-page .pancake-form select,
.pancake-connect-page .pancake-form textarea {
    box-sizing: border-box;
    width: 100%;
}

.pancake-connect-session-list,
.pancake-connect-item-list {
    display: grid;
    gap: 10px;
}

.pancake-connect-session-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.pancake-connect-session-tile {
    min-height: 340px;
}

.pancake-connect-session-cover {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #e7ead8 0%, #dce8e4 52%, #efe2d6 100%);
    background-size: cover;
    box-sizing: border-box;
    display: flex;
    height: 174px;
    justify-content: center;
    overflow: hidden;
    width: 100%;
}

.pancake-connect-session-cover span {
    align-items: center;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(42, 37, 32, 0.08);
    border-radius: 18px;
    color: var(--pancake-primary);
    display: inline-flex;
    font-size: 2.1rem;
    font-weight: 900;
    height: 74px;
    justify-content: center;
    width: 74px;
}

.pancake-connect-session-cover.has-image {
    background: #ece6dc;
}

.pancake-connect-session-cover img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    width: 100%;
}

.pancake-connect-session-tile .pancake-project-body {
    padding-bottom: 86px;
}

.pancake-connect-session-tile .pancake-project-body > p:not(.pancake-card-eyebrow) {
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pancake-connect-session-tile .pancake-card-meta {
    max-width: calc(100% - 112px);
}

.pancake-connect-session-card {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    color: var(--pancake-text);
    display: grid;
    gap: 7px;
    padding: 14px;
    text-decoration: none;
}

.pancake-connect-session-card-large {
    border-radius: 18px;
    box-shadow: var(--pancake-shadow-soft);
    min-height: 148px;
    padding: 20px;
}

.pancake-connect-session-card-large strong {
    font-size: 1.1rem;
    line-height: 1.18;
}

.pancake-connect-session-card.is-active {
    border-color: rgba(65, 164, 50, 0.44);
    box-shadow: inset 4px 0 0 var(--pancake-green);
}

.pancake-connect-session-card strong,
.pancake-connect-item h3,
.pancake-learner-module-card h2 {
    margin: 0;
}

.pancake-connect-session-card small,
.pancake-connect-item span,
.pancake-connect-item p,
.pancake-learner-module-card p,
.pancake-learner-module-card dd {
    color: var(--pancake-muted);
}

.pancake-connect-create-form {
    border-top: 1px solid var(--pancake-border);
    margin-top: 8px;
    padding-top: 20px;
}

.pancake-connect-create-form h3 {
    margin: 0 0 4px;
}

.pancake-connect-session-hero {
    align-items: start;
}

.pancake-session-code-badge {
    align-items: center;
    background: #ede8df;
    border: 1px solid rgba(42, 37, 32, 0.08);
    border-radius: 999px;
    color: var(--pancake-muted) !important;
    display: inline-flex;
    font-size: 0.85rem;
    font-weight: 700;
    gap: 6px;
    margin: 8px 0 2px;
    padding: 7px 12px;
    width: fit-content;
}

.pancake-session-code-badge strong {
    color: var(--pancake-text);
    font-weight: 900;
    letter-spacing: 0.08em;
}

.pancake-connect-session-actions {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pancake-connect-session-panel {
    box-sizing: border-box;
    max-width: none;
    padding: 28px;
}

.pancake-connect-form-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-connect-settings-form > .pancake-button {
    justify-self: center;
    min-width: 220px;
    width: auto;
}

.pancake-connect-settings-form > .pancake-inline-check {
    grid-column: 1 / -1;
    justify-content: flex-start;
    justify-self: stretch;
    max-width: 100%;
    text-align: left;
    width: 100%;
}

.pancake-connect-settings-form > .pancake-inline-check span {
    white-space: nowrap;
}

.pancake-connect-page .pancake-form .pancake-inline-check input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 0;
    min-width: 13px;
    width: auto;
}

.pancake-connect-cover-manager {
    align-items: stretch;
    border-top: 1px solid var(--pancake-border);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
    margin-top: 22px;
    padding-top: 22px;
}

.pancake-connect-cover-preview {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #e7ead8 0%, #dce8e4 52%, #efe2d6 100%);
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.pancake-connect-cover-preview span {
    align-items: center;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(42, 37, 32, 0.08);
    border-radius: 999px;
    color: var(--pancake-muted);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 900;
    height: 64px;
    justify-content: center;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    width: 64px;
}

.pancake-connect-cover-preview img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.pancake-connect-cover-content {
    align-content: center;
    display: grid;
    gap: 14px;
}

.pancake-connect-cover-content h3,
.pancake-connect-cover-content p {
    margin: 0;
}

.pancake-connect-cover-content h3 {
    font-size: 1.04rem;
}

.pancake-connect-cover-content p {
    color: var(--pancake-muted);
}

.pancake-connect-cover-actions {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-connect-cover-actions > form {
    margin: 0;
}

.pancake-connect-cover-form {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-connect-cover-form label {
    min-width: min(100%, 260px);
}

.pancake-connect-cover-form input[type="file"] {
    min-height: 42px;
    padding: 9px 12px;
}

.pancake-connect-inline-form {
    align-items: end;
    border-top: 1px solid var(--pancake-border);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-top: 16px;
}

.pancake-connect-transfer {
    align-items: stretch;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.pancake-connect-transfer-form {
    display: grid;
    gap: 16px;
}

.pancake-connect-transfer-panel {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    display: grid;
    gap: 12px;
    grid-template-rows: auto auto minmax(280px, 1fr);
    min-width: 0;
    padding: 16px;
}

.pancake-connect-transfer-heading {
    align-items: start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-height: 50px;
}

.pancake-connect-transfer-heading h3,
.pancake-connect-transfer-heading p {
    margin: 0;
}

.pancake-connect-transfer-heading h3 {
    font-size: 1rem;
    line-height: 1.2;
}

.pancake-connect-transfer-heading p {
    color: var(--pancake-muted);
    font-size: 0.86rem;
    line-height: 1.35;
    margin-top: 4px;
}

.pancake-connect-transfer-heading > span {
    align-items: center;
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.82rem;
    font-weight: 900;
    justify-content: center;
    min-width: 32px;
    padding: 5px 9px;
}

.pancake-connect-transfer-search {
    display: grid;
    gap: 6px;
    min-height: 66px;
}

.pancake-connect-transfer-search span {
    color: var(--pancake-muted);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.pancake-connect-transfer-search input,
.pancake-connect-transfer-select {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    box-sizing: border-box;
    width: 100%;
}

.pancake-connect-transfer-search input {
    align-self: end;
    min-height: 42px;
    padding: 9px 12px;
}

.pancake-connect-transfer-select {
    color: var(--pancake-text);
    height: 100%;
    min-height: 280px;
    padding: 8px;
}

.pancake-connect-transfer-select option {
    border-radius: 8px;
    padding: 8px 10px;
    white-space: normal;
}

.pancake-connect-transfer-select option:checked {
    background: var(--pancake-primary);
    color: #fff;
}

.pancake-connect-transfer-actions {
    align-content: center;
    display: grid;
    gap: 10px;
    justify-items: center;
    min-width: 132px;
}

.pancake-connect-transfer-actions .pancake-button {
    justify-content: center;
    min-width: 116px;
    white-space: nowrap;
}

.pancake-connect-transfer-save {
    border-top: 1px solid var(--pancake-border);
    display: flex;
    justify-content: flex-end;
    padding-top: 16px;
}

.pancake-connect-transfer-save .pancake-button {
    justify-content: center;
    min-width: min(100%, 260px);
}

.pancake-inline-check {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.pancake-inline-check input {
    width: auto;
}

.pancake-connect-item {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px;
}

.pancake-connect-item span {
    display: block;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.pancake-connect-item p {
    margin: 6px 0 0;
}

.pancake-connect-main .pancake-empty-state {
    align-content: center;
    min-height: 84px;
}

.pancake-learner-module-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.pancake-learner-module-card {
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: var(--pancake-shadow-soft);
    display: grid;
    gap: 18px;
    min-height: 300px;
    padding: 22px;
}

.pancake-learner-module-card h2 {
    font-size: 1.3rem;
    line-height: 1.15;
    margin-top: 12px;
}

.pancake-learner-module-card p {
    margin: 8px 0 0;
}

.pancake-learner-module-card dl {
    border-top: 1px solid var(--pancake-border);
    display: grid;
    gap: 8px;
    margin: 0;
    padding-top: 12px;
}

.pancake-learner-module-card dl > div {
    display: grid;
    gap: 4px;
}

.pancake-learner-module-card dt {
    color: var(--pancake-text);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.pancake-learner-tracking {
    border-top: 1px solid var(--pancake-border);
    display: grid;
    gap: 10px;
    padding-top: 12px;
}

.pancake-learner-tracking-head {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.pancake-learner-tracking-head .pancake-session-code-badge {
    margin: 0;
}

.pancake-learner-tracking-head strong {
    color: var(--pancake-text);
    font-size: 0.92rem;
    white-space: nowrap;
}

.pancake-learner-progress {
    background: rgba(42, 37, 32, 0.08);
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
    width: 100%;
}

.pancake-learner-progress span {
    background: var(--pancake-primary);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
}

.pancake-learner-tracking-meta {
    color: var(--pancake-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.86rem;
    gap: 8px 12px;
}

@media (max-width: 980px) {
    .pancake-connect-layout,
    .pancake-connect-form-grid,
    .pancake-connect-cover-manager,
    .pancake-connect-inline-form,
    .pancake-connect-item,
    .pancake-connect-transfer {
        grid-template-columns: 1fr;
    }

    .pancake-connect-session-actions {
        align-items: stretch;
        width: 100%;
    }

    .pancake-connect-transfer-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-width: 0;
    }

    .pancake-connect-item form,
    .pancake-connect-cover-actions,
    .pancake-connect-cover-actions > form,
    .pancake-connect-cover-actions .pancake-button,
    .pancake-connect-cover-form,
    .pancake-connect-inline-form .pancake-button,
    .pancake-connect-transfer-actions .pancake-button,
    .pancake-connect-transfer-save .pancake-button {
        width: 100%;
    }
}

.pancake-client-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 420px));
    justify-content: start;
    margin-top: 18px;
}

.pancake-client-card {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: var(--pancake-shadow-soft);
    box-sizing: border-box;
    display: grid;
    gap: 18px;
    padding: 24px;
    width: 100%;
}

.pancake-client-card.is-active {
    border-color: rgba(80, 135, 82, 0.36);
    box-shadow: 0 18px 36px rgba(80, 135, 82, 0.12);
}

.pancake-client-card-header {
    align-items: start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.pancake-client-card-header h3,
.pancake-client-card-header p {
    margin: 0;
}

.pancake-client-meta {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.pancake-client-meta div {
    background: #fffaf4;
    border: 1px solid rgba(42, 37, 32, 0.06);
    border-radius: 12px;
    display: grid;
    gap: 5px;
    padding: 12px;
}

.pancake-client-meta dt {
    color: var(--pancake-muted);
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.pancake-client-meta dd {
    font-weight: 800;
    margin: 0;
}

.pancake-placeholder-panel {
    align-items: flex-start;
    display: grid;
    gap: 22px;
    grid-template-columns: auto minmax(0, 1fr);
}

.pancake-placeholder-icon {
    align-items: center;
    background: var(--pancake-secondary);
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    color: var(--pancake-accent);
    display: inline-flex;
    font-size: 1.35rem;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.pancake-placeholder-panel h2 {
    margin-top: 0;
}

.pancake-card[disabled] {
    cursor: default;
    opacity: 0.75;
}

.pancake-project-card {
    align-content: space-between;
}

.pancake-project-card .pancake-button-row {
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}

.pancake-project-card .pancake-preview-action-button[disabled] {
    background: #f5f0ea !important;
    border-color: #e4d8cb !important;
    color: #9a8f84 !important;
    opacity: 1;
}

.pancake-delete-button {
    padding-inline: 0;
}

.pancake-project-summary h3 {
    margin: 0 0 8px;
}

.pancake-project-summary p {
    margin: 0 0 10px;
}

.pancake-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.pancake-button-row .pancake-button,
.pancake-button-row form {
    min-height: 42px;
    width: auto;
}

.pancake-button-row form {
    display: flex;
}

.pancake-button-row form .pancake-button {
    height: 100%;
}

.pancake-project-card .pancake-button-row .pancake-button:not(.pancake-icon-action-button):not(.pancake-delete-button),
.pancake-project-card .pancake-button-row form:not(:has(.pancake-delete-button)) {
    flex: 1 1 0;
    min-width: 0;
}

.pancake-project-card .pancake-button-row .pancake-icon-action-button,
.pancake-project-card .pancake-button-row form:has(.pancake-delete-button) {
    flex: 0 0 48px;
}

.pancake-project-card .pancake-button-row .pancake-icon-action-button,
.pancake-project-card .pancake-delete-button {
    appearance: none;
    box-sizing: border-box;
    flex-basis: 48px;
    height: 48px;
    line-height: 1;
    max-height: 48px;
    max-width: 48px;
    min-height: 48px;
    min-width: 48px;
    padding-inline: 0;
    width: 48px;
}

.pancake-project-card .pancake-button-row .pancake-preview-action-button[disabled] {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.pancake-plan-action-groups {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
}

.pancake-plan-action-groups .pancake-button-row {
    margin-top: 0;
}

.pancake-plan-control-panel {
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 16px;
    display: grid;
    gap: 14px;
    margin-top: 18px;
    padding: 16px;
}

.pancake-plan-control-header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.pancake-plan-control-header h3 {
    margin: 0 0 4px;
}

.pancake-plan-status-chips {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.pancake-plan-status-chips span {
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-primary);
    font-size: 0.82rem;
    font-weight: 800;
    padding: 6px 10px;
    white-space: nowrap;
}

.pancake-plan-impact-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.pancake-plan-impact-grid div {
    background: #fff;
    border: 1px solid rgba(166, 124, 82, 0.14);
    border-radius: 12px;
    padding: 10px 12px;
}

.pancake-plan-impact-grid dt {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-plan-impact-grid dd {
    color: var(--pancake-text);
    font-size: 1.2rem;
    font-weight: 900;
    margin: 2px 0 0;
}

.pancake-plan-control-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-plan-control-actions form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
}

.pancake-plan-content-refresh-form {
    border-left: 1px solid var(--pancake-border);
    padding-left: 10px;
}

.pancake-recipe-content-actions {
    border-top: 1px solid var(--pancake-border);
    margin-top: 18px;
    padding-top: 16px;
}

.pancake-scorm-latest-download {
    align-items: center;
    background: #fff8ef;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 10px;
    padding: 12px 14px;
}

.pancake-scorm-latest-info {
    display: grid;
    gap: 2px;
}

.pancake-scorm-latest-download strong {
    color: var(--pancake-ink);
    font-size: 0.95rem;
}

.pancake-scorm-latest-download span {
    color: var(--pancake-muted);
    font-size: 0.88rem;
}

.pancake-scorm-latest-download span.is-error {
    color: #b42318;
    font-weight: 700;
}

.pancake-scorm-latest-download .pancake-scorm-warning {
    color: #9a3412;
    font-weight: 700;
}

.pancake-scorm-latest-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-activity-batch-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-inline-option {
    align-items: center;
    color: var(--pancake-muted);
    display: inline-flex;
    font-size: 0.9rem;
    gap: 7px;
    min-height: 42px;
}

.pancake-option-toggle {
    align-items: flex-start;
    background: #fff8ef;
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    display: flex;
    gap: 12px;
    padding: 14px 16px;
}

.pancake-option-toggle input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.pancake-option-toggle span {
    display: grid;
    gap: 4px;
}

.pancake-option-toggle strong {
    color: var(--pancake-text);
}

.pancake-option-toggle small {
    color: var(--pancake-muted);
    line-height: 1.35;
}

.pancake-activity-batch-status {
    color: var(--pancake-muted);
    font-size: 0.9rem;
}

.pancake-activity-batch-status.is-error {
    color: var(--pancake-danger);
}

.pancake-modal[hidden] {
    display: none;
}

.pancake-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    overflow: auto;
    padding: 24px;
    position: fixed;
    z-index: 1000;
}

.pancake-modal-backdrop {
    background: rgba(61, 54, 48, 0.34);
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity 180ms ease;
}

.pancake-modal-dialog {
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(61, 54, 48, 0.22);
    margin: 0 auto;
    max-height: calc(100vh - 48px);
    max-width: 620px;
    opacity: 0;
    overflow: auto;
    padding: 28px;
    position: relative;
    transform: translateY(10px) scale(0.97);
    transform-origin: center;
    transition: opacity 180ms ease, transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
    width: min(100%, 620px);
}

.pancake-modal-dialog-wide {
    max-width: 860px;
    width: min(100%, 860px);
}

.pancake-activity-content-editor-modal {
    align-items: center;
}

.pancake-activity-content-editor-dialog {
    display: flex;
    flex-direction: column;
    height: min(860px, calc(100vh - 96px));
    max-height: calc(100vh - 96px);
    overflow: hidden;
}

.pancake-activity-content-editor-form {
    display: grid;
    flex: 1;
    gap: 18px;
    margin-top: 18px;
    min-height: 0;
    overflow: auto;
    padding: 0 8px 28px;
}

.pancake-activity-content-editor-form > .pancake-button {
    position: static;
}

.pancake-project-editor-dialog {
    display: flex;
    flex-direction: column;
    height: min(820px, calc(100vh - 84px));
    max-height: calc(100vh - 84px);
    max-width: min(1120px, calc(100vw - 48px));
    overflow: hidden;
    width: min(1120px, calc(100vw - 48px));
}

.pancake-project-editor-form {
    display: grid;
    flex: 1;
    gap: 18px;
    margin-top: 18px;
    min-height: 0;
    overflow: auto;
    padding: 0 18px 18px 0;
    scrollbar-gutter: stable;
}

.pancake-project-editor-form > * {
    grid-column: 1;
}

.pancake-modal-footer-actions {
    align-items: center;
    background: linear-gradient(180deg, rgba(255, 250, 243, 0.92), var(--pancake-panel) 32%);
    border-top: 1px solid var(--pancake-border);
    bottom: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(440px, auto) minmax(0, 1fr);
    gap: 10px;
    margin-top: auto;
    padding: 14px 0 2px;
    position: sticky;
    z-index: 2;
}

.pancake-modal-footer-buttons {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    grid-column: 2;
    justify-content: center;
}

.pancake-modal-footer-actions .pancake-button {
    min-width: 210px;
}

.pancake-modal-footer-actions .pancake-activity-content-status {
    align-self: center;
    grid-column: 3;
    justify-self: start;
    margin: 0;
    min-width: 0;
}

.pancake-modal-footer-actions .pancake-activity-content-status[hidden] {
    display: none;
}

.pancake-modal[id="objective-add-modal"] .pancake-modal-dialog,
.pancake-modal[id^="objective-edit-modal-"] .pancake-modal-dialog,
.pancake-modal[id^="sequence-edit-modal-"] .pancake-modal-dialog,
.pancake-modal[id^="activity-add-modal-"] .pancake-modal-dialog,
.pancake-modal[id^="activity-edit-modal-"] .pancake-modal-dialog,
.pancake-modal[id="validation-quiz-add-modal"] .pancake-modal-dialog,
.pancake-modal[id="plan-summary-modal"] .pancake-modal-dialog,
.pancake-activity-content-editor-dialog {
    display: flex;
    flex-direction: column;
    height: min(820px, calc(100vh - 84px));
    max-height: calc(100vh - 84px);
    max-width: min(1120px, calc(100vw - 48px));
    overflow: hidden;
    width: min(1120px, calc(100vw - 48px));
}

.pancake-modal[id^="activity-add-modal-"] .pancake-modal-dialog {
    max-width: min(780px, calc(100vw - 48px));
    width: min(780px, calc(100vw - 48px));
}

.pancake-modal[id="objective-add-modal"] .pancake-form,
.pancake-modal[id^="objective-edit-modal-"] .pancake-form,
.pancake-modal[id^="sequence-edit-modal-"] .pancake-form,
.pancake-modal[id^="activity-add-modal-"] .pancake-form,
.pancake-modal[id^="activity-edit-modal-"] .pancake-form,
.pancake-modal[id="validation-quiz-add-modal"] .pancake-form,
.pancake-modal[id="plan-summary-modal"] .pancake-form {
    display: grid;
    flex: 1;
    gap: 18px;
    margin-top: 18px;
    min-height: 0;
    overflow: auto;
    padding: 0 18px 18px 0;
    scrollbar-gutter: stable;
}

.pancake-modal[id="objective-add-modal"] .pancake-project-form,
.pancake-modal[id^="objective-edit-modal-"] .pancake-project-form,
.pancake-modal[id^="sequence-edit-modal-"] .pancake-project-form,
.pancake-modal[id^="activity-edit-modal-"] .pancake-project-form {
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
    width: 100%;
}

.pancake-modal[id="objective-add-modal"] .pancake-project-form > *,
.pancake-modal[id^="objective-edit-modal-"] .pancake-project-form > *,
.pancake-modal[id^="sequence-edit-modal-"] .pancake-project-form > *,
.pancake-modal[id^="activity-edit-modal-"] .pancake-project-form > *,
.pancake-modal[id="plan-summary-modal"] .pancake-project-form > * {
    grid-column: 1;
}

.pancake-modal[id="plan-summary-modal"] .pancake-project-form {
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
    width: 100%;
}

.pancake-modal[id^="sequence-edit-modal-"] .pancake-form,
.pancake-modal[id^="activity-edit-modal-"] .pancake-form,
.pancake-modal[id="plan-summary-modal"] .pancake-form {
    padding: 0 8px 28px;
}

.pancake-modal[id^="sequence-edit-modal-"] .pancake-form > .pancake-button,
.pancake-modal[id^="activity-edit-modal-"] .pancake-form > .pancake-button,
.pancake-modal[id="plan-summary-modal"] .pancake-form > .pancake-button {
    position: static;
}

.pancake-modal[id="objective-add-modal"] .pancake-form > .pancake-button,
.pancake-modal[id^="objective-edit-modal-"] .pancake-form > .pancake-button,
.pancake-modal[id^="activity-add-modal-"] .pancake-form > .pancake-button,
.pancake-modal[id="validation-quiz-add-modal"] .pancake-form > .pancake-button {
    bottom: 0;
    position: sticky;
    z-index: 1;
}

.pancake-modal[id="plan-summary-modal"] .pancake-form textarea {
    min-height: 180px;
}

.pancake-activity-content-preview {
    display: grid;
    gap: 14px;
    margin-top: 18px;
    max-height: min(68vh, 680px);
    overflow: auto;
    padding-right: 4px;
}

.pancake-render-h5p-card {
    gap: 10px;
}

.pancake-render-h5p-frame {
    background: #ffffff;
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    height: var(--pancake-h5p-height, 560px);
    min-height: 320px;
    overflow: hidden;
    transition: height 0.18s ease;
}

.pancake-render-h5p-frame iframe {
    background: #ffffff;
    border: 0;
    display: block;
    height: 100%;
    min-height: 320px;
    width: 100%;
}

.pancake-render-h5p-meta {
    align-items: center;
    color: var(--pancake-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin: 0;
}

.pancake-render-h5p-meta strong {
    color: var(--pancake-text);
}

.pancake-content-blocks {
    display: grid;
    gap: 12px;
}

.pancake-content-blocks article,
.pancake-content-list > li,
.pancake-render-card,
.pancake-editor-repeatable-item {
    background: #fff8f0;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    padding: 12px;
}

.pancake-content-blocks h3,
.pancake-activity-content-preview h3,
.pancake-editor-repeatable h3 {
    margin: 0;
}

.pancake-content-blocks p,
.pancake-content-list {
    margin: 0;
}

.pancake-content-list {
    display: grid;
    gap: 10px;
    padding-left: 20px;
}

.pancake-content-list span {
    display: block;
    margin-top: 6px;
}

.pancake-editor-repeatable {
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 14px;
}

.pancake-editor-repeatable legend {
    color: var(--pancake-accent);
    font-weight: 800;
    padding: 0 6px;
}

.pancake-editor-repeatable-item {
    display: grid;
    gap: 12px;
}

.pancake-modal.is-open .pancake-modal-backdrop,
.pancake-modal.is-open .pancake-modal-dialog {
    opacity: 1;
}

.pancake-modal.is-open .pancake-modal-dialog {
    transform: translateY(0) scale(1);
}

.pancake-modal-header {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.pancake-modal-header h2 {
    margin: 0;
}

.pancake-modal-header-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.pancake-local-draft-banner {
    align-items: center;
    background: #fff4df;
    border: 1px solid #edc783;
    border-radius: 12px;
    color: var(--pancake-primary);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    padding: 12px;
}

.pancake-local-draft-banner[hidden] {
    display: none;
}

.pancake-local-draft-banner > span {
    flex: 1 1 260px;
    font-weight: 700;
    min-width: 0;
}

.pancake-local-draft-banner > div {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-activity-content-modal-generate {
    align-items: center;
    display: flex;
    gap: 10px;
    margin: 0;
}

.pancake-activity-content-modal-generate .pancake-activity-content-status {
    font-size: 0.78rem;
    max-width: 260px;
}

.pancake-new-card {
    border-style: dashed;
    max-width: 420px;
}

.pancake-plus {
    align-items: center;
    background: rgba(166, 124, 82, 0.1);
    border-radius: 50%;
    color: var(--pancake-primary);
    display: flex;
    font-size: 2rem;
    height: 64px;
    justify-content: center;
    width: 64px;
}

.pancake-empty {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    padding: 26px;
}

.pancake-info-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
}

.pancake-diagnostic-overview {
    display: grid;
    gap: 22px;
}

.pancake-diagnostic-hero {
    align-items: center;
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    display: grid;
    gap: 18px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 22px;
}

.pancake-diagnostic-hero.is-success {
    background: #f3faf2;
    border-color: rgba(80, 135, 82, 0.36);
}

.pancake-diagnostic-hero.is-warning {
    background: #fff9ed;
    border-color: rgba(197, 129, 43, 0.38);
}

.pancake-diagnostic-hero.is-error {
    background: #fff4f1;
    border-color: rgba(184, 64, 64, 0.38);
}

.pancake-diagnostic-hero-icon {
    align-items: center;
    background: #f0ebe3;
    border-radius: 50%;
    display: flex;
    font-size: 1.45rem;
    height: 54px;
    justify-content: center;
    width: 54px;
}

.pancake-diagnostic-hero.is-success .pancake-diagnostic-hero-icon {
    background: #e2f1e1;
    color: #315f33;
}

.pancake-diagnostic-hero.is-warning .pancake-diagnostic-hero-icon {
    background: #fff0cf;
    color: #9a6218;
}

.pancake-diagnostic-hero.is-error .pancake-diagnostic-hero-icon {
    background: #f8dfdb;
    color: var(--pancake-danger);
}

.pancake-diagnostic-hero h2,
.pancake-diagnostic-hero p {
    margin: 0;
}

.pancake-diagnostic-hero p:not(.pancake-kicker) {
    color: var(--pancake-muted);
    margin-top: 5px;
}

.pancake-diagnostic-hero-meta {
    align-items: flex-end;
    display: grid;
    gap: 4px;
    justify-items: end;
    text-align: right;
}

.pancake-diagnostic-hero-meta strong {
    color: var(--pancake-ink);
    font-size: 1.15rem;
}

.pancake-diagnostic-hero-meta span,
.pancake-diagnostic-hero-meta small {
    color: var(--pancake-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.pancake-diagnostic-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pancake-diagnostic-card,
.pancake-diagnostic-subpanel {
    background: rgba(253, 245, 235, 0.5);
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    padding: 16px;
}

.pancake-diagnostic-card.is-success {
    border-top: 3px solid #75a877;
}

.pancake-diagnostic-card.is-warning {
    border-top: 3px solid #d99a3d;
}

.pancake-diagnostic-card.is-error {
    border-top: 3px solid #c45a54;
}

.pancake-diagnostic-card-header {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.pancake-diagnostic-card h3 {
    font-size: 0.92rem;
    margin: 0;
}

.pancake-diagnostic-card > strong {
    display: block;
    font-size: 1.02rem;
    margin-top: 14px;
}

.pancake-diagnostic-card > p {
    color: var(--pancake-muted);
    font-size: 0.84rem;
    line-height: 1.4;
    margin: 8px 0 0;
}

.pancake-diagnostic-status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.7rem;
    font-weight: 900;
    min-height: 22px;
    padding: 4px 8px;
    white-space: nowrap;
}

.pancake-diagnostic-status.is-success {
    background: #eaf6e9;
    color: #315f33;
}

.pancake-diagnostic-status.is-warning {
    background: #fff0d5;
    color: #9a6218;
}

.pancake-diagnostic-status.is-error {
    background: #fbe7e3;
    color: var(--pancake-danger);
}

.pancake-diagnostic-link {
    display: inline-flex;
    font-size: 0.82rem;
    margin-top: 12px;
}

.pancake-diagnostic-secondary-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-diagnostic-subpanel .pancake-info-output-header {
    margin-bottom: 12px;
}

.pancake-diagnostic-subpanel h3 {
    font-size: 1rem;
}

.pancake-diagnostic-list,
.pancake-incident-list {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pancake-diagnostic-list li {
    align-items: start;
    border-left: 3px solid var(--pancake-border);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 8px 0 8px 12px;
}

.pancake-diagnostic-list li.is-warning {
    border-left-color: #d99a3d;
}

.pancake-diagnostic-list li.is-error {
    border-left-color: #c45a54;
}

.pancake-diagnostic-list li.is-success {
    border-left-color: #75a877;
}

.pancake-diagnostic-list li > div,
.pancake-diagnostic-list li > span {
    display: grid;
    gap: 3px;
}

.pancake-diagnostic-list span {
    color: var(--pancake-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.pancake-diagnostic-list .pancake-link {
    flex: 0 0 auto;
    font-size: 0.8rem;
}

.pancake-diagnostic-empty {
    align-items: center;
    background: #f3faf2;
    border: 1px solid rgba(80, 135, 82, 0.28);
    border-radius: 8px;
    color: #315f33;
    display: flex;
    font-weight: 800;
    gap: 10px;
    padding: 16px;
}

.pancake-incident-card {
    align-items: start;
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-left: 3px solid #c45a54;
    border-radius: 8px;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 14px 16px;
}

.pancake-incident-card strong {
    display: block;
    margin-top: 8px;
}

.pancake-incident-card p {
    color: var(--pancake-muted);
    font-size: 0.88rem;
    margin: 5px 0 0;
    overflow-wrap: anywhere;
}

.pancake-incident-meta {
    align-items: flex-end;
    display: grid;
    flex: 0 0 auto;
    gap: 5px;
    justify-items: end;
    text-align: right;
}

.pancake-incident-meta span,
.pancake-incident-meta time {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.pancake-info-card {
    background: rgba(253, 245, 235, 0.62);
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    padding: 18px;
}

.pancake-info-card h3,
.pancake-info-output h3 {
    margin: 0 0 14px;
}

.pancake-info-card dl {
    display: grid;
    gap: 12px;
    margin: 0;
}

.pancake-info-card dl > div {
    display: grid;
    gap: 4px;
}

.pancake-info-card dt {
    color: var(--pancake-muted);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-info-card dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.pancake-info-card code,
.pancake-info-output code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.pancake-info-output {
    margin-top: 22px;
}

.pancake-info-output-header {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.pancake-info-output-header h3 {
    margin: 0;
}

.pancake-info-output pre {
    background: #2f2a25;
    border-radius: 14px;
    color: #fff7ed;
    margin: 0;
    overflow-x: auto;
    padding: 18px;
    white-space: pre-wrap;
}

.pancake-maintenance-stats {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 20px;
}

.pancake-maintenance-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin: 22px 0;
}

.pancake-maintenance-rules {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 18px;
}

.pancake-maintenance-form {
    display: grid;
    gap: 16px;
}

.pancake-maintenance-table-wrap {
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    max-height: 520px;
    overflow: auto;
}

.pancake-maintenance-table {
    background: #fffaf4;
    border-collapse: collapse;
    font-size: 0.9rem;
    min-width: 980px;
    width: 100%;
}

.pancake-maintenance-table th,
.pancake-maintenance-table td {
    border-bottom: 1px solid rgba(120, 101, 82, 0.16);
    padding: 12px;
    text-align: left;
    vertical-align: top;
}

.pancake-maintenance-table th {
    background: #f4ede4;
    color: var(--pancake-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

.pancake-maintenance-table tr:last-child td {
    border-bottom: 0;
}

.pancake-maintenance-table td strong,
.pancake-maintenance-table td small {
    display: block;
}

.pancake-maintenance-table td small {
    color: var(--pancake-muted);
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.pancake-maintenance-status {
    background: rgba(47, 42, 37, 0.08);
    border-radius: 999px;
    color: var(--pancake-text);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 5px 9px;
}

.pancake-maintenance-status.is-candidate {
    background: rgba(45, 111, 94, 0.14);
    color: #2d6f5e;
}

.pancake-maintenance-confirm {
    align-items: flex-start;
    display: flex;
    gap: 10px;
    max-width: 760px;
}

.pancake-maintenance-confirm span {
    color: var(--pancake-muted);
    font-weight: 700;
}

.pancake-maintenance-history {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-maintenance-restore {
    margin-top: 14px;
}

.pancake-h5p-model-list {
    display: grid;
    gap: 14px;
}

.pancake-h5p-model-row {
    align-items: center;
    background: #fffaf4;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px;
}

.pancake-h5p-model-main {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.pancake-h5p-model-heading {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-h5p-model-heading h4 {
    font-size: 1rem;
    margin: 0;
}

.pancake-h5p-model-heading span {
    color: var(--pancake-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.pancake-h5p-model-meta,
.pancake-h5p-model-warning {
    margin: 0;
    overflow-wrap: anywhere;
}

.pancake-h5p-model-meta {
    color: var(--pancake-muted);
}

.pancake-h5p-model-warning {
    color: var(--pancake-danger);
    font-weight: 700;
}

.pancake-h5p-model-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    min-width: max-content;
}

.pancake-h5p-model-actions form {
    display: inline-flex;
    margin: 0;
}

.pancake-h5p-model-actions .pancake-button {
    white-space: nowrap;
}

.pancake-media-catalog-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pancake-media-catalog-filter-form {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, 0.35fr) minmax(150px, 0.35fr) auto;
    margin: 0 0 18px;
}

.pancake-media-catalog-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-media-catalog-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    overflow: hidden;
}

.pancake-media-catalog-card img {
    aspect-ratio: 4 / 3;
    background: #f3eee7;
    display: block;
    object-fit: cover;
    width: 100%;
}

.pancake-media-catalog-card div {
    display: grid;
    gap: 5px;
    padding: 0 10px 10px;
}

.pancake-media-catalog-card strong,
.pancake-media-catalog-card span,
.pancake-media-catalog-card code {
    overflow-wrap: anywhere;
}

.pancake-media-catalog-card span,
.pancake-media-catalog-card code {
    color: var(--pancake-muted);
    font-size: 0.82rem;
}

.pancake-media-catalog-badge {
    align-self: start;
    background: var(--pancake-soft);
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-primary);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    justify-self: start;
    padding: 2px 8px;
    text-transform: uppercase;
}

.pancake-media-catalog-details {
    border-top: 1px solid var(--pancake-border);
    padding-top: 8px;
}

.pancake-media-catalog-details summary {
    cursor: pointer;
    font-weight: 800;
}

.pancake-media-catalog-derive-form {
    align-items: end;
    border-top: 1px solid var(--pancake-border);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-top: 8px;
}

.pancake-media-catalog-derive-form label {
    color: var(--pancake-muted);
    display: grid;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 4px;
    text-transform: uppercase;
}

.pancake-media-catalog-derive-form select {
    min-width: 0;
    width: 100%;
}

.pancake-media-catalog-form {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.pancake-media-catalog-form label {
    color: var(--pancake-muted);
    display: grid;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 4px;
    text-transform: uppercase;
}

.pancake-media-catalog-form input,
.pancake-media-catalog-form select,
.pancake-media-catalog-form textarea {
    font-size: 0.9rem;
    min-width: 0;
    width: 100%;
}

.pancake-media-catalog-pagination {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 18px;
}

.pancake-media-catalog-pagination span {
    color: var(--pancake-muted);
    font-weight: 800;
}

.pancake-media-catalog-pagination a[aria-disabled="true"] {
    opacity: 0.45;
    pointer-events: none;
}

.pancake-media-picker-control {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-media-picker-current {
    color: var(--pancake-muted);
    font-size: 0.9rem;
}

.pancake-media-picker-dialog {
    max-width: min(1120px, calc(100vw - 32px));
}

.pancake-media-picker-toolbar {
    display: grid;
    gap: 14px;
}

.pancake-media-picker-filters {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pancake-media-picker-status {
    color: var(--pancake-muted);
    font-weight: 700;
    margin: 16px 0 10px;
}

.pancake-media-picker-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-height: min(48vh, 520px);
    overflow: auto;
    padding: 2px;
}

.pancake-media-picker-card {
    appearance: none;
    background: #fff;
    border: 2px solid var(--pancake-border);
    border-radius: 8px;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 8px;
    overflow: hidden;
    padding: 0;
    text-align: left;
}

.pancake-media-picker-card:hover,
.pancake-media-picker-card:focus-visible {
    border-color: var(--pancake-primary);
    outline: none;
}

.pancake-media-picker-card.is-selected {
    border-color: var(--pancake-primary);
    box-shadow: 0 0 0 3px rgba(166, 124, 82, 0.18);
}

.pancake-media-picker-card img {
    aspect-ratio: 4 / 3;
    background: #f3eee7;
    display: block;
    object-fit: cover;
    width: 100%;
}

.pancake-media-picker-card > span {
    display: grid;
    gap: 4px;
    padding: 0 10px 10px;
}

.pancake-media-picker-card strong,
.pancake-media-picker-card span span {
    overflow-wrap: anywhere;
}

.pancake-media-picker-card span span {
    color: var(--pancake-muted);
    font-size: 0.82rem;
}

.pancake-media-picker-actions {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 18px;
}

.pancake-job-list {
    display: grid;
    gap: 14px;
}

.pancake-job-card {
    background: rgba(253, 245, 235, 0.62);
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    padding: 16px;
}

.pancake-job-card-header {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.pancake-job-card-header strong,
.pancake-job-card-header span {
    display: block;
}

.pancake-job-card-header span {
    color: var(--pancake-muted);
    font-size: 0.86rem;
    overflow-wrap: anywhere;
}

.pancake-log-file-button {
    background: transparent;
    border: 0;
    color: var(--pancake-primary);
    cursor: pointer;
    display: block;
    font: inherit;
    font-size: 0.86rem;
    font-weight: 800;
    margin: 4px 0 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 0;
    text-align: left;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.pancake-job-card-header em {
    color: var(--pancake-primary);
    font-style: normal;
    font-weight: 800;
    text-align: right;
}

.pancake-job-card dl {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 14px 0 0;
}

.pancake-job-card dt {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-job-card dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.pancake-job-card details {
    margin-top: 14px;
}

.pancake-job-card summary {
    color: var(--pancake-primary);
    cursor: pointer;
    font-weight: 800;
}

.pancake-job-card pre {
    margin-top: 10px;
}

.pancake-log-modal-meta {
    color: var(--pancake-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    font-size: 0.86rem;
    font-weight: 700;
    margin: 14px 0;
}

.pancake-log-modal-content {
    max-height: min(62vh, 620px);
    overflow: auto;
}

.pancake-log-modal-content pre {
    background: #2f2a25;
    border-radius: 14px;
    color: #fff7ed;
    margin: 0;
    padding: 18px;
    white-space: pre-wrap;
}

@media (max-width: 1180px) {
    .pancake-access-profile-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .pancake-shell {
        grid-template-columns: 1fr;
        max-width: 100vw;
        overflow-x: hidden;
    }

    .pancake-sidebar {
        height: auto;
        max-height: none;
        min-height: 0;
        overflow: visible;
        position: static;
    }

    .pancake-sidebar-brand-row {
        justify-content: space-between;
        min-height: 74px;
        padding: 12px 16px;
    }

    .pancake-sidebar-brand {
        flex: 0 0 auto;
        min-height: 0;
        padding: 0;
    }

    .pancake-sidebar-brand img {
        max-height: 54px;
    }

    .pancake-client-switcher {
        align-items: end;
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 10px 16px;
    }

    .pancake-shell-menu-toggle {
        display: inline-flex;
    }

    .pancake-sidebar-nav {
        background: var(--pancake-sidebar);
        border-bottom: 1px solid rgba(42, 37, 32, 0.1);
        box-shadow: 0 18px 32px rgba(42, 37, 32, 0.08);
        display: none;
        gap: 4px;
        max-height: calc(100vh - 74px);
        overflow-x: hidden;
        overflow-y: auto;
        padding: 10px 16px 16px;
    }

    .pancake-sidebar.is-menu-open .pancake-sidebar-nav {
        display: grid;
    }

    .pancake-sidebar-group {
        border-top: 1px solid rgba(42, 37, 32, 0.09);
        display: grid;
        margin-top: 8px;
        padding-top: 12px;
    }

    .pancake-sidebar-group p {
        display: block;
    }

    .pancake-sidebar-link {
        width: 100%;
    }

    .pancake-sidebar-user {
        display: none;
    }

    .pancake-sidebar-mobile-actions {
        border-top: 1px solid rgba(42, 37, 32, 0.09);
        display: grid;
        gap: 4px;
        margin-top: 8px;
        padding-top: 12px;
    }

    .pancake-shell-main,
    .pancake-shell-content {
        max-width: 100vw;
        overflow-x: hidden;
    }

    .pancake-shell-topbar {
        gap: 12px;
        padding: 12px 16px;
        top: 0;
    }

    .pancake-shell-tools {
        min-width: 0;
    }

    .pancake-shell-search {
        width: min(240px, 38vw);
    }

    .pancake-dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pancake-project-hero {
        grid-template-columns: 130px minmax(0, 1fr);
    }

    .pancake-project-hero-media {
        min-height: 116px;
    }

    .pancake-project-hero-media img {
        max-height: 86px;
        max-width: 112px;
    }

    .pancake-topic-row {
        grid-template-columns: minmax(0, 1fr) 210px;
    }

    .pancake-topic-row small {
        grid-column: 1 / -1;
        padding-bottom: 0;
        text-align: left;
        white-space: normal;
    }

    .pancake-access-profile-layout,
    .pancake-access-profile-meta-form,
    .pancake-access-profile-audit-header {
        grid-template-columns: 1fr;
    }

    .pancake-access-profile-audit-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .pancake-shell-topbar {
        align-items: start;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 12px 16px;
    }

    .pancake-shell-title {
        flex: 1 1 100%;
        min-width: 0;
    }

    .pancake-shell-tools {
        align-items: center;
        flex: 1 1 100%;
        flex-direction: row;
        min-width: 0;
    }

    .pancake-shell-search {
        flex: 1 1 180px;
        min-width: 0;
        width: 100%;
    }

    .pancake-shell-tools .pancake-shell-button {
        flex: 0 0 auto;
        width: auto;
    }

    .pancake-shell-tools .pancake-shell-button span {
        display: none;
    }

    .pancake-has-shell .pancake-page {
        padding: 24px 16px 40px;
    }

    .pancake-placeholder-panel {
        grid-template-columns: 1fr;
    }

    .pancake-login-split {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(210px, 38%) minmax(0, 1fr);
    }

    .pancake-login-story {
        justify-content: end;
        min-height: 0;
        padding: 32px 24px;
    }

    .pancake-login-area {
        align-items: start;
        min-height: 0;
        overflow: hidden;
        padding: 28px 24px 32px;
    }

    .pancake-project-hero,
    .pancake-project-action-grid {
        grid-template-columns: 1fr;
    }

    .pancake-project-hero-media {
        min-height: 96px;
    }

    .pancake-dashboard-stats,
    .pancake-project-stats {
        grid-template-columns: 1fr;
    }

    .pancake-project-card-grid {
        grid-template-columns: 1fr;
    }

    .pancake-client-grid,
    .pancake-client-meta {
        grid-template-columns: 1fr;
    }

    .pancake-workflow-hero {
        padding: 20px;
    }

    .pancake-workflow-hero .pancake-topbar-links {
        align-items: stretch;
        width: 100%;
    }

    .pancake-workflow-hero .pancake-link {
        justify-content: center;
        width: 100%;
    }

    .pancake-workflow-stepper {
        grid-template-columns: 1fr;
    }

    .pancake-workflow-stepper .pancake-step {
        justify-content: flex-start;
    }

    .pancake-workflow-panel {
        padding: 22px;
    }

    .pancake-product-hero,
    .pancake-account-hero,
    .pancake-product-panel,
    .pancake-user-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .pancake-product-panel {
        flex-direction: column;
    }

    .pancake-user-admin-form,
    .pancake-user-create-modal-grid,
    .pancake-capability-grid,
    .pancake-user-filter-bar,
    .pancake-user-admin-readonly {
        grid-template-columns: 1fr;
    }

    .pancake-capability-field {
        grid-template-columns: 1fr;
    }

    .pancake-user-admin-card-head,
    .pancake-user-admin-meta {
        align-items: stretch;
        flex-direction: column;
        grid-template-columns: 1fr;
    }

    .pancake-user-table-head {
        display: none;
    }

    .pancake-user-list-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .pancake-user-list-row > span[role="cell"]::before {
        color: var(--pancake-muted);
        display: block;
        font-size: 0.72rem;
        font-weight: 900;
        margin-bottom: 3px;
        text-transform: uppercase;
    }

    .pancake-import-report-table .pancake-user-list-row > span[role="cell"]:nth-child(1)::before {
        content: "Ligne";
    }

    .pancake-user-list-row > span[role="cell"]:nth-child(2)::before {
        content: "Email";
    }

    .pancake-user-list-row > span[role="cell"]:nth-child(3)::before {
        content: "Rôle";
    }

    .pancake-user-list-row > span[role="cell"]:nth-child(4)::before {
        content: "Statut";
    }

    .pancake-user-list-row > span[role="cell"]:nth-child(5)::before {
        content: "Dernière connexion";
    }

    .pancake-import-report-table .pancake-user-list-row > span[role="cell"]:nth-child(2)::before {
        content: "Identifiant";
    }

    .pancake-import-report-table .pancake-user-list-row > span[role="cell"]:nth-child(3)::before {
        content: "Utilisateur";
    }

    .pancake-import-report-table .pancake-user-list-row > span[role="cell"]:nth-child(4)::before {
        content: "Session";
    }

    .pancake-import-report-table .pancake-user-list-row > span[role="cell"]:nth-child(5)::before {
        content: "Statut";
    }

    .pancake-import-report-table .pancake-user-list-row > span[role="cell"]:nth-child(6)::before {
        content: "Message";
    }

    .pancake-import-report-table .pancake-user-list-row > span:nth-child(5) {
        text-align: left;
    }

    .pancake-connect-tracking-table .pancake-user-list-row > span[role="cell"]:nth-child(1)::before {
        content: "Apprenant";
    }

    .pancake-connect-tracking-table .pancake-user-list-row > span[role="cell"]:nth-child(2)::before {
        content: "Module";
    }

    .pancake-connect-tracking-table .pancake-user-list-row > span[role="cell"]:nth-child(3)::before {
        content: "Statut";
    }

    .pancake-connect-tracking-table .pancake-user-list-row > span[role="cell"]:nth-child(4)::before {
        content: "Progression";
    }

    .pancake-connect-tracking-table .pancake-user-list-row > span[role="cell"]:nth-child(5)::before {
        content: "Score";
    }

    .pancake-connect-tracking-table .pancake-user-list-row > span[role="cell"]:nth-child(6)::before {
        content: "Temps";
    }

    .pancake-connect-tracking-table .pancake-user-list-row > span[role="cell"]:nth-child(7)::before {
        content: "Dernière activité";
    }

    .pancake-connect-report-detail-table .pancake-user-list-row > span[role="cell"]:nth-child(1)::before {
        content: "Apprenant";
    }

    .pancake-connect-report-detail-table .pancake-user-list-row > span[role="cell"]:nth-child(2)::before {
        content: "Module";
    }

    .pancake-connect-report-detail-table .pancake-user-list-row > span[role="cell"]:nth-child(3)::before {
        content: "Statut";
    }

    .pancake-connect-report-detail-table .pancake-user-list-row > span[role="cell"]:nth-child(4)::before {
        content: "Progression";
    }

    .pancake-connect-report-detail-table .pancake-user-list-row > span[role="cell"]:nth-child(5)::before {
        content: "Score";
    }

    .pancake-connect-report-detail-table .pancake-user-list-row > span[role="cell"]:nth-child(6)::before {
        content: "Temps";
    }

    .pancake-connect-report-detail-table .pancake-user-list-row > span[role="cell"]:nth-child(7)::before {
        content: "Dernière activité";
    }

    .pancake-connect-report-sessions-table .pancake-user-list-row > span[role="cell"]:nth-child(1)::before {
        content: "Session";
    }

    .pancake-connect-report-sessions-table .pancake-user-list-row > span[role="cell"]:nth-child(2)::before {
        content: "Affectations";
    }

    .pancake-connect-report-sessions-table .pancake-user-list-row > span[role="cell"]:nth-child(3)::before {
        content: "Démarrage";
    }

    .pancake-connect-report-sessions-table .pancake-user-list-row > span[role="cell"]:nth-child(4)::before {
        content: "Complétion";
    }

    .pancake-connect-report-sessions-table .pancake-user-list-row > span[role="cell"]:nth-child(5)::before {
        content: "Progression";
    }

    .pancake-connect-report-sessions-table .pancake-user-list-row > span[role="cell"]:nth-child(6)::before {
        content: "Score";
    }

    .pancake-connect-report-sessions-table .pancake-user-list-row > span[role="cell"]:nth-child(7)::before {
        content: "Rapport";
    }

    .pancake-connect-report-learners-table .pancake-user-list-row > span[role="cell"]:nth-child(1)::before,
    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(1)::before {
        content: "Nom";
    }

    .pancake-connect-report-learners-table .pancake-user-list-row > span[role="cell"]:nth-child(1)::before {
        content: "Apprenant";
    }

    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(1)::before {
        content: "Module";
    }

    .pancake-connect-report-learners-table .pancake-user-list-row > span[role="cell"]:nth-child(2)::before,
    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(2)::before {
        content: "Modules";
    }

    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(2)::before {
        content: "Apprenants";
    }

    .pancake-connect-report-learners-table .pancake-user-list-row > span[role="cell"]:nth-child(3)::before,
    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(3)::before {
        content: "Démarrés";
    }

    .pancake-connect-report-learners-table .pancake-user-list-row > span[role="cell"]:nth-child(4)::before,
    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(4)::before {
        content: "Terminés";
    }

    .pancake-connect-report-learners-table .pancake-user-list-row > span[role="cell"]:nth-child(5)::before,
    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(5)::before {
        content: "Progression";
    }

    .pancake-connect-report-learners-table .pancake-user-list-row > span[role="cell"]:nth-child(6)::before,
    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(6)::before {
        content: "Score";
    }

    .pancake-connect-report-learners-table .pancake-user-list-row > span[role="cell"]:nth-child(7)::before,
    .pancake-connect-report-modules-table .pancake-user-list-row > span[role="cell"]:nth-child(7)::before {
        content: "Temps";
    }

    .pancake-performance-debug {
        margin: 14px 16px 24px;
    }

    .pancake-performance-debug-head,
    .pancake-performance-debug-row {
        grid-template-columns: 1fr;
    }

    .pancake-user-list-actions {
        justify-content: stretch;
    }

    .pancake-user-list-actions .pancake-button {
        width: 100%;
    }

    .pancake-user-pagination {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .pancake-user-pagination-status {
        text-align: center;
    }

    .pancake-product-hero-badge,
    .pancake-account-avatar-large {
        justify-self: start;
    }

    .pancake-product-grid {
        grid-template-columns: 1fr;
    }

    .pancake-status-pill {
        justify-self: start;
    }

    .pancake-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .pancake-topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .pancake-topbar-links {
        align-items: flex-start;
        justify-items: start;
    }

    .pancake-panel {
        padding: 24px;
    }

    .pancake-two-columns {
        grid-template-columns: 1fr;
    }

    .pancake-goal-grid {
        grid-template-columns: 1fr;
    }

    .pancake-media-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pancake-media-catalog-filter-form {
        grid-template-columns: 1fr 1fr;
    }

    .pancake-media-picker-filters,
    .pancake-media-picker-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pancake-format-grid {
        grid-template-columns: 1fr;
    }

    .pancake-format-content {
        grid-template-columns: 1fr;
    }

    .pancake-format-content small {
        grid-column: auto;
    }

    .pancake-recap-grid,
    .pancake-referential-summary,
    .pancake-bloom-list,
    .pancake-preview-layout,
    .pancake-guidance-grid,
    .pancake-guidance-checks,
    .pancake-guidance-select-grid,
    .pancake-topic-row {
        grid-template-columns: 1fr;
    }

    .pancake-topic-row small {
        padding-bottom: 0;
        white-space: normal;
    }

    .pancake-ingredient-layout {
        grid-template-columns: 1fr;
    }

    .pancake-plan-edit-workspace {
        grid-template-columns: 1fr;
    }

    .pancake-plan-control-header {
        align-items: stretch;
        flex-direction: column;
    }

    .pancake-plan-status-chips {
        justify-content: flex-start;
    }

    .pancake-plan-impact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pancake-plan-control-actions,
    .pancake-plan-control-actions form,
    .pancake-plan-control-actions .pancake-button {
        align-items: stretch;
        width: 100%;
    }

    .pancake-plan-content-refresh-form {
        border-left: 0;
        border-top: 1px solid var(--pancake-border);
        padding-left: 0;
        padding-top: 10px;
    }

    .pancake-plan-edit-panel {
        bottom: 0;
        left: 0;
        position: fixed;
        right: 0;
        top: auto;
        z-index: 20;
    }

    .pancake-plan-edit-panel-inner {
        border-radius: 18px 18px 0 0;
        max-height: min(78vh, 720px);
    }

    .pancake-plan-sequence-header,
    .pancake-activity-header {
        grid-template-columns: auto 1fr;
    }

    .pancake-plan-duration,
    .pancake-activity-header em,
    .pancake-duration-source,
    .pancake-activity-actions {
        grid-column: 2;
    }

    .pancake-button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .pancake-button-row .pancake-button,
    .pancake-button-row form {
        width: 100%;
    }

    .pancake-recipe-tabbar {
        align-items: stretch;
        flex-direction: column;
    }

    .pancake-recipe-tabs {
        align-items: stretch;
        flex-direction: column;
    }

    .pancake-recipe-tab,
    .pancake-recipe-tab-actions,
    .pancake-recipe-tab-actions .pancake-button,
    .pancake-recipe-edit-action {
        justify-content: center;
        width: 100%;
    }

    .pancake-guidance-actions {
        align-items: stretch;
    }

    .pancake-guidance-actions .pancake-button {
        width: 100%;
    }

    .pancake-structure-header,
    .pancake-structure-quiz {
        align-items: stretch;
        flex-direction: column;
    }

    .pancake-structure-stats {
        min-width: 0;
        text-align: left;
    }

    .pancake-structure-activities {
        margin-left: 0;
    }

    .pancake-structure-activities > li {
        grid-template-columns: 1fr;
    }

    .pancake-grid {
        grid-template-columns: 1fr;
    }

    .pancake-info-grid {
        grid-template-columns: 1fr;
    }

    .pancake-diagnostic-hero {
        align-items: start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pancake-diagnostic-hero-meta {
        align-items: start;
        grid-column: 1 / -1;
        justify-items: start;
        text-align: left;
    }

    .pancake-diagnostic-grid,
    .pancake-diagnostic-secondary-grid {
        grid-template-columns: 1fr;
    }

    .pancake-incident-card {
        flex-direction: column;
    }

    .pancake-incident-meta {
        align-items: start;
        justify-items: start;
        text-align: left;
    }

    .pancake-maintenance-stats,
    .pancake-maintenance-grid,
    .pancake-maintenance-history {
        grid-template-columns: 1fr;
    }

    .pancake-maintenance-table-wrap {
        max-height: 420px;
    }

    .pancake-info-output-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .pancake-h5p-model-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .pancake-h5p-model-actions {
        justify-content: flex-start;
        min-width: 0;
    }

    .pancake-job-card-header,
    .pancake-job-card dl {
        grid-template-columns: 1fr;
    }

    .pancake-job-card-header {
        flex-direction: column;
    }

    .pancake-modal {
        align-items: center;
        padding: 16px;
    }

    .pancake-modal-dialog {
        max-height: calc(100vh - 32px);
        padding: 22px;
    }
}

@media (max-width: 520px) {
    .pancake-media-catalog-grid,
    .pancake-media-catalog-filter-form,
    .pancake-media-picker-filters,
    .pancake-media-picker-grid {
        grid-template-columns: 1fr;
    }

    .pancake-media-picker-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

.pancake-media-picker-actions .pancake-button {
    width: 100%;
}

    .pancake-modal-footer-actions {
        grid-template-columns: 1fr;
    }

    .pancake-modal-footer-spacer {
        display: none;
    }

    .pancake-modal-footer-buttons,
    .pancake-modal-footer-actions .pancake-activity-content-status {
        grid-column: 1;
        justify-self: center;
    }

    .pancake-modal-footer-buttons {
        flex-wrap: wrap;
    }

    .pancake-modal-footer-actions .pancake-button {
        min-width: min(240px, 100%);
    }

    .pancake-modal-footer-actions .pancake-activity-content-status {
        text-align: center;
    }
}

.pancake-h5p-editor-frame {
    background: #fffaf3;
    border: 1px solid #eadfd1;
    border-radius: 8px;
    display: block;
    min-height: 760px;
    width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .pancake-modal-backdrop,
    .pancake-modal-dialog,
    .pancake-ai-spinner {
        animation: none;
        transition: none;
    }
}
