@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/lato-regular-400-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/lato-regular-400-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: normal;
    font-weight: 700;
    src: url("../assets/fonts/lato-regular-700-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: normal;
    font-weight: 700;
    src: url("../assets/fonts/lato-regular-700-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: italic;
    font-weight: 400;
    src: url("../assets/fonts/lato-italic-400-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: italic;
    font-weight: 400;
    src: url("../assets/fonts/lato-italic-400-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: italic;
    font-weight: 700;
    src: url("../assets/fonts/lato-italic-700-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: italic;
    font-weight: 700;
    src: url("../assets/fonts/lato-italic-700-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --pancake-bg: #ffffff;
    --pancake-white: #ffffff;
    --pancake-panel: #F7F4EE;
    --pancake-surface: #ffffff;
    --pancake-surface-soft: #fff8f0;
    --pancake-surface-subtle: #fffaf4;
    --pancake-surface-highlight: #fffaf3;
    --pancake-surface-warm: #fff8ef;
    --pancake-surface-warning: #fff7ed;
    --pancake-surface-muted: #f8f4ee;
    --pancake-text: #2a2520;
    --pancake-text-secondary: #5c5248;
    --pancake-muted: #9b7044;
    --pancake-primary: #2a2520;
    --pancake-primary-contrast: #f6f2ec;
    --pancake-accent: #9b7044;
    --pancake-secondary: #F7F4EE;
    --pancake-sidebar: #F7F4EE;
    --pancake-background-modal: var(--pancake-sidebar);
    --pancake-sidebar-accent: #d8d0c4;
    --pancake-border: rgba(42, 37, 32, 0.09);
    --pancake-border-soft: rgba(42, 37, 32, 0.08);
    --pancake-border-medium: rgba(42, 37, 32, 0.1);
    --pancake-border-strong: rgba(42, 37, 32, 0.14);
    --pancake-focus: #f49c3d;
    --pancake-success: #8a9e7a;
    --pancake-success-text: #315f33;
    --pancake-success-background: #edf7ed;
    --pancake-danger: #b84040;
    --pancake-danger-text: #7a2e24;
    --pancake-danger-background: #fff5f3;
    --pancake-info: #2d6f5e;
    --pancake-warning-text: #8a5a1f;
    --pancake-accent-soft: rgba(155, 112, 68, 0.08);
    --pancake-accent-ring: rgba(155, 112, 68, 0.1);
    --pancake-accent-border: rgba(155, 112, 68, 0.42);
    --pancake-accent-border-strong: rgba(155, 112, 68, 0.56);
    --pancake-surface-translucent: rgba(255, 255, 255, 0.72);
    --pancake-surface-translucent-strong: rgba(255, 255, 255, 0.92);
    --pancake-white-overlay: rgba(255, 255, 255, 0.7);
    --pancake-white-overlay-subtle: rgba(255, 255, 255, 0.08);
    --pancake-ink-06: rgba(42, 37, 32, 0.06);
    --pancake-ink-12: rgba(42, 37, 32, 0.12);
    --pancake-ink-16: rgba(42, 37, 32, 0.16);
    --pancake-ink-42: rgba(42, 37, 32, 0.42);
    --pancake-ink-56: rgba(42, 37, 32, 0.56);
    --pancake-brand-soft: rgba(138, 92, 52, 0.1);
    --pancake-success-border: rgba(80, 135, 82, 0.36);
    --pancake-success-soft: rgba(80, 135, 82, 0.22);
    --pancake-warm-overlay: rgba(253, 245, 235, 0.62);
    --pancake-overlay: rgba(42, 37, 32, 0.52);
    --pancake-modal-shadow: 0 24px 60px rgba(61, 54, 48, 0.22);
    --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: "Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    min-height: 100vh;
}

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

.pancake-text-secondary {
    color: var(--pancake-text-secondary);
}

.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 var(--pancake-border-medium);
    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 var(--pancake-border-medium);
    display: flex;
    justify-content: center;
    min-height: 154px;
}

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

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

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

.pancake-client-switcher label {
    color: var(--pancake-ink-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 var(--pancake-ink-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: var(--pancake-white);
    border: 1px solid var(--pancake-ink-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: var(--pancake-accent-border);
    box-shadow: 0 0 0 3px var(--pancake-accent-soft);
}

.pancake-sidebar-project-action {
    border-bottom: 1px solid var(--pancake-border-medium);
    display: flex;
    justify-content: center;
    padding: 12px 14px;
}

.pancake-sidebar-project-button {
    justify-content: center;
    min-height: 40px;
    width: 100%;
}

.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-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 var(--pancake-border);
    display: grid;
    gap: 3px;
    margin-top: 8px;
    padding-top: 12px;
}

.pancake-sidebar-group p {
    color: var(--pancake-ink-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: var(--pancake-text-secondary);
    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-count {
    align-items: center;
    background: var(--pancake-primary);
    border-radius: 999px;
    color: var(--pancake-primary-contrast);
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 800;
    height: 20px;
    justify-content: center;
    line-height: 1;
    margin-left: auto;
    min-width: 20px;
    padding: 0 6px;
}

.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 var(--pancake-border-medium);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    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: var(--pancake-surface-translucent-strong);
    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 {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.pancake-shell-title::before {
    background: var(--pancake-muted);
    content: "";
    flex: 0 0 auto;
    height: 18px;
    width: 2px;
}

.pancake-shell-title.is-title-hidden::before {
    display: none;
}

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

.pancake-shell-context-back {
    flex: 0 0 auto;
    order: -1;
}

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

.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(155, 112, 68, 0.35);
    box-shadow: 0 0 0 3px var(--pancake-accent-soft);
}

.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-search button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: var(--pancake-text-secondary);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 28px;
    height: 28px;
    justify-content: center;
    padding: 0;
    width: 28px;
}

.pancake-shell-search button:hover,
.pancake-shell-search button:focus-visible {
    background: var(--pancake-sidebar-accent);
    color: var(--pancake-text);
    outline: 0;
}

.pancake-shell-content {
    box-sizing: border-box;
    min-height: 0;
    min-width: 0;
    position: relative;
    width: 100%;
}

.pancake-has-shell .pancake-page {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1120px;
    min-width: 0;
    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;
}

html.pancake-modal-open,
body.pancake-modal-open {
    overflow: hidden;
    overscroll-behavior: none;
}

[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: var(--pancake-white);
    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: var(--pancake-white);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    height: 100%;
    min-height: 0;
}

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

.pancake-login-story-content {
    transform: translateY(clamp(-144px, -18vh, -112px));
}

.pancake-login-story p {
	align-items: center;
    color: rgba(255, 255, 255, 1);
    display: flex;
    font-size: 1rem;
    font-weight: 100;
    gap: 8px;
    letter-spacing: 0.02em;
    margin: 0 0 14px;
}

.pancake-login-story p::before {
    background: var(--pancake-muted);
    content: "";
    display: block;
    height: 14px;
    width: 2px;
}

.pancake-login-story h1 {
    color: var(--pancake-surface-highlight);
    font-size: clamp(1.85rem, 3.8vw, 2.95rem);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.16;
    margin: 0;
}

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

.pancake-locale-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0;
}
.pancake-locale-form select { max-width: 100%; min-height: 38px; }
.pancake-visitor-language { position: relative; }
.pancake-visitor-language summary { cursor: pointer; list-style: none; border: 1px solid var(--pancake-border); border-radius: 8px; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; background: white; }
.pancake-language-flag { display: block; width: 22px; height: 16.5px; flex: none; object-fit: cover; }
.pancake-visitor-language summary::-webkit-details-marker { display: none; }
.pancake-visitor-language summary:focus-visible, .pancake-visitor-language-options button:focus-visible { outline: 2px solid var(--pancake-primary); outline-offset: 2px; }
.pancake-visitor-language-options { position: absolute; right: 0; top: calc(100% + 6px); z-index: 200; min-width: 170px; padding: 6px; border: 1px solid var(--pancake-border); border-radius: 8px; background: white; box-shadow: 0 6px 20px rgba(0,0,0,.12); }
.pancake-visitor-language-options button { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; padding: 8px 12px; border: 0; border-radius: 4px; background: transparent; color: var(--pancake-text); text-align: left; font: inherit; cursor: pointer; }
.pancake-visitor-language-options button:hover, .pancake-visitor-language-options button[aria-current] { background: var(--pancake-sidebar); }
.pancake-login-area > .pancake-locale-form { align-self: flex-end; flex-shrink: 0; margin: 0 0 24px; }

.pancake-login-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
    flex-shrink: 0;
    margin-top: auto;
    padding-top: 24px;
    width: 100%;
    text-align: center;
    font-size: 12px;
    line-height: 1.5;
}

.pancake-login-legal a,
.pancake-login-recovery a {
    color: #6c6259;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pancake-login-legal a:focus-visible,
.pancake-login-recovery a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 5px;
}

.pancake-login {
    flex-shrink: 0;
    margin-block: auto;
    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: 210px;
    width: 58%;
}

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

.pancake-login .pancake-muted {
    font-size: 1rem;
    line-height: 1.45;
    margin: 0;
    text-align: center;
    font-weight: 400;
    font-style: italic;
}

.pancake-login .pancake-login-recovery {
    margin-top: 18px;
}

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

.pancake-login .pancake-form label {
    color: var(--pancake-text);
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.35;
}

.pancake-login .pancake-form label[for="password"] {
    margin-top: 8px;
}

.pancake-login .pancake-form input {
    background: #eee7dd;
    border-color: transparent;
    box-sizing: border-box;
    font-size: 1rem;
    height: 48px;
    min-height: 0;
    padding: 12px 14px;
}

.pancake-login .pancake-form input:focus-visible {
    background: var(--pancake-white);
}

.pancake-login .pancake-full-button {
    font-size: 1rem;
    font-weight: 400;
    min-height: 48px;
    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-not-found-panel {
    text-align: center;
}

.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: var(--pancake-white);
    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 var(--pancake-focus);
    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: var(--pancake-focus);
    box-shadow: inset 0 0 0 1px var(--pancake-focus), 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: var(--pancake-surface-subtle);
}

.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: var(--pancake-white);
    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: var(--pancake-ink-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: var(--pancake-accent-border);
    box-shadow: 0 0 0 3px var(--pancake-accent-soft);
    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: var(--pancake-white) !important;
    height: auto !important;
    min-height: 42px;
}

.pancake-primary:hover,
.pancake-primary:focus-visible {
    background: #1f1a16 !important;
    border-color: #1f1a16 !important;
    color: var(--pancake-white) !important;
    text-decoration-color: var(--pancake-surface-translucent);
}

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

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

.pancake-secondary:hover,
.pancake-secondary:focus-visible {
    background: var(--pancake-white);
    border-color: var(--pancake-accent-border);
}

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

.pancake-danger:hover,
.pancake-danger:focus-visible {
    background: #9f3434;
    border-color: #9f3434;
    color: var(--pancake-white);
    text-decoration-color: var(--pancake-surface-translucent);
}

.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: var(--pancake-white);
    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: var(--pancake-white);
    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;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
    width: 42px;
}

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

.pancake-icon-danger {
    background: var(--pancake-white);
    border-color: var(--pancake-border);
    color: var(--pancake-primary);
}

.pancake-icon-danger:hover,
.pancake-icon-danger:focus-visible {
    background: rgba(184, 64, 64, 0.1);
    border-color: rgba(184, 64, 64, 0.32);
    color: var(--pancake-danger);
}

.pancake-alert {
    align-items: center;
    background: var(--pancake-surface-soft);
    border: 1px solid var(--pancake-focus);
    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-recipe-update-copy {
    flex: 1 1 260px;
    min-width: 0;
}

.pancake-recipe-update-title {
    display: block;
    margin-bottom: 4px;
}

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

.pancake-dismissible-alert {
    padding-right: 52px;
    position: relative;
}

.pancake-dismissible-alert > .pancake-alert-close {
    position: absolute;
    right: 10px;
    top: 10px;
}

.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 var(--pancake-focus);
    outline-offset: 2px;
}

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

.pancake-alert-error {
    background: var(--pancake-danger-background);
    border-color: #d14b36;
    color: var(--pancake-danger-text);
}

.pancake-variant-panel:not([hidden]) {
    align-items: stretch;
    display: block;
    padding: 16px 18px 18px;
}

.pancake-variant-fields {
    align-items: start;
    display: grid;
    gap: 12px 18px;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}

.pancake-variant-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    min-width: 0;
}

.pancake-variant-field > span {
    font-weight: 700;
    margin-bottom: 2px;
}

.pancake-variant-field select,
.pancake-variant-field textarea {
    margin: 0;
}

.pancake-variant-field textarea {
    min-height: 96px;
}

.pancake-variant-explain {
    margin: 16px 0 10px;
}

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

.pancake-variant-actions .pancake-variant-explain { margin: 0; flex: 1 1 260px; }
.pancake-variant-field textarea:disabled { opacity: .5; cursor: not-allowed; }

.pancake-variant-actions .pancake-button {
    margin: 0;
}

.pancake-variant-actions [role="status"] {
    margin: 0;
    flex-basis: 100%;
}

@media (max-width: 700px) {
    .pancake-variant-fields {
        grid-template-columns: 1fr;
    }
}

.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-640.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: var(--pancake-surface-soft);
    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: var(--pancake-accent-border);
    box-shadow: 0 0 0 3px var(--pancake-accent-soft);
    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: var(--pancake-surface-warning);
    text-decoration-color: var(--pancake-white-overlay);
}

.pancake-link,
.pancake-link:visited {
    color: var(--pancake-primary);
    font-weight: 700;
    text-decoration-color: var(--pancake-ink-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-inline-link,
.pancake-inline-link:visited {
    color: var(--pancake-text-secondary);
    text-decoration-color: var(--pancake-accent);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.pancake-inline-link:hover {
    color: var(--pancake-text);
    text-decoration-thickness: 2px;
}

.pancake-navigation-link,
.pancake-navigation-link:visited {
    color: var(--pancake-text-secondary);
    text-decoration: none;
}

.pancake-navigation-link:hover {
    background: var(--pancake-secondary);
    color: var(--pancake-text);
}

.pancake-link-button,
.pancake-link-button:visited {
    align-items: center;
    background: var(--pancake-primary);
    border: 1px solid var(--pancake-primary);
    border-radius: 10px;
    color: var(--pancake-primary-contrast);
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 9px 14px;
    text-decoration: none;
}

.pancake-link-button:hover {
    box-shadow: var(--pancake-shadow-soft);
    transform: translateY(-1px);
}

.pancake-inline-link:focus-visible,
.pancake-navigation-link:focus-visible,
.pancake-link-button:focus-visible {
    outline: 3px solid var(--pancake-focus);
    outline-offset: 3px;
}

.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-field-header-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.pancake-learner-instruction-visibility {
    color: var(--pancake-text-secondary);
}

.pancake-learner-instruction-visibility[aria-pressed="false"] {
    color: var(--pancake-warning-text);
}

.pancake-field[data-pancake-editor-field="learner_instructions"] > textarea,
.pancake-field[data-pancake-editor-field="learner_instructions"] .pancake-field-header > label,
.pancake-field[data-pancake-editor-field="learner_instructions"] .pancake-activity-ai-button {
    transition: opacity 160ms ease;
}

.pancake-field.is-learner-instruction-hidden > input[type="text"],
.pancake-field.is-learner-instruction-hidden > textarea,
.pancake-field.is-learner-instruction-hidden .pancake-field-header > label,
.pancake-field.is-learner-instruction-hidden .pancake-activity-ai-button {
    opacity: 0.48;
}

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

.pancake-brief-ai-message-dialog {
    max-width: 460px;
}

.pancake-brief-ai-message {
    margin: 18px 0 0;
}

.pancake-brief-ai-message-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.pancake-brief-ai-actions {
    display: inline-flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}


.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-brief-stacked-fields {
    display: grid;
    gap: 18px;
}

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

.pancake-step {
    align-items: center;
    background: var(--pancake-white-overlay);
    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: var(--pancake-brand-soft);
    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: var(--pancake-white);
}

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

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

.pancake-goal-fieldset + .pancake-goal-fieldset {
    margin-top: 48px;
}

.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-brief-section {
    display: grid;
    gap: 18px;
    margin: 24px 0 8px;
}

.pancake-brief-section-heading {
    margin: 0;
}

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

/* Shared selectable-card component used by duration, nature and intention choices. */
.pancake-choice-card-grid {
    align-items: stretch;
}

.pancake-goal-card.pancake-choice-card {
    display: flex;
}

.pancake-choice-card-content {
    align-content: start;
    flex: 1 1 auto;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 150px;
    padding: 18px;
    width: 100%;
}

.pancake-choice-card-icon {
    grid-column: 1;
    grid-row: 1;
    height: 38px;
    width: 38px;
}

.pancake-choice-card-copy {
    display: grid;
    gap: 3px;
    grid-column: 2;
    min-width: 0;
}

.pancake-choice-card-title {
    color: var(--pancake-text);
}

.pancake-choice-card-description {
    color: var(--pancake-text-secondary);
    line-height: 1.35;
}

.pancake-choice-card-meta {
    color: var(--pancake-text-secondary);
    grid-column: 2;
}

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

.pancake-nature-choice {
    position: relative;
}

.pancake-training-nature-content {
    min-height: 150px;
    padding-right: 58px;
}

.pancake-nature-info-button {
    position: absolute;
    right: 14px;
    top: 14px;
    z-index: 1;
}

.pancake-training-nature-explanation {
    display: grid;
    gap: 4px;
}

.pancake-training-nature-explanation h3,
.pancake-training-nature-explanation p {
    line-height: 1.45;
    margin: 0;
}

.pancake-training-nature-explanation h3 {
    color: var(--pancake-text);
    font-size: 0.9rem;
    margin-top: 4px;
}

.pancake-training-nature-explanation p {
    color: var(--pancake-text-secondary);
}

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

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

.pancake-goal-content {
    background: var(--pancake-white);
    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-format-content .pancake-choice-card-copy {
    min-height: 78px;
}

.pancake-format-meta {
    display: grid;
    gap: 4px;
    grid-column: 2;
    margin-top: 8px;
}

.pancake-goal-icon {
    align-items: center;
    background: var(--pancake-brand-soft);
    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-text-secondary);
}

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

.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 var(--pancake-focus);
    outline-offset: 3px;
}

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

.pancake-format-duration {
    align-items: baseline;
    background: var(--pancake-surface-soft);
    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: var(--pancake-white);
    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: var(--pancake-white);
    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-plan-duration-status {
    align-self: center;
    color: var(--pancake-success-text);
    font-size: 0.9rem;
    font-weight: 700;
}

.pancake-plan-duration-status.is-error {
    color: var(--pancake-danger-text);
}

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

.pancake-version-form-between {
    background: var(--pancake-surface-soft);
    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: var(--pancake-white);
    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: var(--pancake-surface-soft);
    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: var(--pancake-surface-soft);
    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: var(--pancake-surface-soft);
    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: var(--pancake-brand-soft);
    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: var(--pancake-danger-background);
    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: var(--pancake-surface-soft);
    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: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    padding: 20px;
}

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

.pancake-preview-text {
    background: var(--pancake-surface-highlight);
    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: var(--pancake-surface-warm);
    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,
.pancake-document-visual-analysis .pancake-recap-item {
    display: grid;
    gap: 6px;
}

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

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

.pancake-preparation-analysis .pancake-analysis-action {
    font-size: 1rem;
    font-weight: 800;
    min-height: 52px;
    min-width: min(100%, 320px);
    padding: 14px 28px;
}

.pancake-analysis-action-wrap {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    width: 100%;
}

.pancake-document-workflow {
    display: grid;
    gap: 18px;
}

.pancake-analysis-wait {
    align-items: center;
    background: var(--pancake-surface-warm);
    border: 1px solid rgba(166, 124, 82, 0.42);
    border-radius: 12px;
    display: flex;
    gap: 18px;
    justify-content: center;
    min-height: 180px;
    padding: 28px;
    text-align: left;
}

.pancake-analysis-wait > i {
    color: var(--pancake-primary);
    font-size: 2rem;
}

.pancake-analysis-wait > .pancake-ai-spinner {
    font-size: 3.125rem;
}

.pancake-analysis-wait h3,
.pancake-analysis-wait p {
    margin: 0;
}

.pancake-analysis-wait p + h3,
.pancake-analysis-wait h3 + p {
    margin-top: 6px;
}

.pancake-analysis-activity {
    color: var(--pancake-text-secondary);
    display: block;
    margin-top: 10px;
}

.pancake-upload-box.is-disabled,
.pancake-ingredient-list.is-disabled {
    opacity: 0.52;
}

.pancake-upload-box.is-disabled .pancake-dropzone {
    cursor: not-allowed;
}

.pancake-guided-step {
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    overflow: hidden;
}

.pancake-guided-step summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    list-style: none;
    padding: 16px 18px;
}

.pancake-guided-step summary::-webkit-details-marker {
    display: none;
}

.pancake-guided-step summary > span:first-child {
    display: grid;
    gap: 3px;
}

.pancake-guided-step summary strong {
    color: var(--pancake-text);
}

.pancake-guided-step summary small {
    color: var(--pancake-muted);
}

.pancake-guided-step-status {
    background: var(--pancake-surface-warm);
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-text);
    flex: 0 0 auto;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 6px 10px;
}

.pancake-guided-step[open] .pancake-guided-step-status {
    background: #f1f7ef;
    border-color: var(--pancake-success-border);
    color: var(--pancake-success-text);
}

.pancake-guided-step-body {
    border-top: 1px solid var(--pancake-border);
    display: grid;
    gap: 18px;
    padding: 18px;
}

.pancake-ingredient-manual-path {
    display: grid;
    gap: 12px;
}

.pancake-ingredient-manual-path h3,
.pancake-ingredient-manual-path p {
    margin: 0;
}

.pancake-workflow-ready {
    align-items: center;
    color: var(--pancake-success-text);
    display: flex;
    font-weight: 700;
    gap: 8px;
    margin: 0;
}

.pancake-document-workflow.is-analysis-submitting {
    opacity: 0.72;
    pointer-events: none;
}

.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-actions-expert {
    gap: 12px;
}

.pancake-guidance-actions-expert > form {
    min-width: 0;
}

.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,
.pancake-topic-meta > 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: var(--pancake-white);
    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 var(--pancake-focus);
    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: var(--pancake-surface-soft);
    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: var(--pancake-surface-soft);
    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;
    margin-top: 16px;
}

.pancake-topic-row {
    align-items: start;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    display: grid;
    column-gap: 18px;
    grid-template-columns: minmax(280px, 1.6fr) minmax(170px, 0.75fr) minmax(240px, 1.1fr);
    padding: 12px;
    row-gap: 12px;
}

.pancake-topic-meta {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.pancake-topic-meta small {
    align-items: center;
    background: var(--pancake-surface-soft);
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    box-sizing: border-box;
    color: var(--pancake-muted);
    display: flex;
    line-height: 1.35;
    min-height: 42px;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 8px 10px;
    white-space: normal;
}

.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: var(--pancake-surface-soft);
    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: var(--pancake-danger-background);
    border: 1px solid #d14b36;
    border-radius: 12px;
    color: var(--pancake-danger-text);
    padding: 10px 12px;
}

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

.pancake-theme-list > li {
    background: var(--pancake-surface-soft);
    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-structure-header .pancake-project-branding-description,
.pancake-structure-header .pancake-text-secondary {
    color: var(--pancake-text-secondary);
}

.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 var(--pancake-white);
    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: var(--pancake-surface-soft);
    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-file-row {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.pancake-branding-logo-file-row input[type="file"] {
    flex: 1 1 auto;
    min-width: 0;
}

.pancake-branding-logo-reset {
    flex: 0 0 34px;
    height: 34px;
    width: 34px;
}

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

.pancake-branding-logo-input small.is-error {
    color: var(--pancake-danger);
}

.pancake-branding-logo-delete {
    flex: 0 0 34px;
    height: 34px;
    width: 34px;
}

.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 var(--pancake-white);
    display: inline-block;
    flex: 0 0 auto;
    height: 34px;
    width: 34px;
}

.pancake-branding-color-value {
    background: var(--pancake-surface-soft);
    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: var(--pancake-surface-soft);
    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: var(--pancake-surface-translucent);
    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: var(--pancake-surface-soft);
    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;
    padding-bottom: 104px;
}

.pancake-recipe-tabbar {
    align-items: flex-end;
    background: var(--pancake-white);
    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: var(--pancake-surface-soft);
    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: var(--pancake-white);
}

.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-recipe-tab-panel > .pancake-plan-result,
.pancake-recipe-editor > .pancake-plan-result {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.pancake-recipe-editor > .pancake-plan-result {
    margin-top: 0;
}

.pancake-recipe-editor .pancake-plan-duration-block,
.pancake-recipe-editor .pancake-plan-duration-form,
.pancake-recipe-editor .pancake-plan-objective-block {
    box-sizing: border-box;
    width: 100%;
}

.pancake-recipe-editor .pancake-plan-duration-block .pancake-format-duration {
    box-sizing: border-box;
    width: 100%;
}

.pancake-recipe-editor .pancake-plan-list {
    box-sizing: border-box;
    margin-left: -12px;
    margin-right: 0;
    width: calc(100% + 12px);
}

.pancake-recipe-primary-actions {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--pancake-border-medium);
    bottom: 0;
    box-sizing: border-box;
    box-shadow: 0 -10px 28px var(--pancake-border-soft);
    display: flex;
    height: 60px;
    justify-content: center;
    left: 276px;
    margin: 0;
    min-height: 63px;
    padding: 8px 24px;
    position: fixed;
    right: 0;
    z-index: 100;
}

.pancake-recipe-primary-actions-inner {
    align-items: center;
    display: flex;
    gap: 12px;
    max-width: 760px;
    transform: translateY(-1px);
    width: 100%;
}

.pancake-recipe-primary-actions-inner.has-reason {
    max-width: 820px;
}

.pancake-recipe-primary-actions-reason {
    flex: 0 0 auto;
    font-style: italic;
    line-height: 1.25;
    max-width: 230px;
    white-space: nowrap;
}

.pancake-recipe-missing-trigger {
    background: var(--pancake-danger);
    border: 1px solid var(--pancake-danger);
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-style: normal;
    font-weight: 700;
    padding: 6px 10px;
    white-space: nowrap;
}

.pancake-recipe-missing-trigger:hover {
    filter: brightness(0.9);
}

.pancake-recipe-missing-trigger:focus-visible {
    outline: 3px solid var(--pancake-danger);
    outline-offset: 3px;
}

.pancake-recipe-missing-trigger[hidden] {
    display: none;
}

.pancake-recipe-primary-actions-inner > .pancake-button,
.pancake-recipe-primary-actions-secondary {
    flex: 1 1 0;
}

.pancake-content-creation-wait-compact {
    margin-bottom: 18px;
    min-height: 0;
    padding: 20px 24px;
}

.pancake-content-creation-wait-compact h3 {
    margin-bottom: 4px;
}

.pancake-content-creation-wait > .pancake-ai-spinner {
    flex: 0 0 auto;
    font-size: 3.25rem;
}

.pancake-content-creation-wait [data-pancake-activity-contents-status].is-success {
    color: var(--pancake-success);
}

.pancake-content-creation-wait [data-pancake-activity-contents-status].is-warning {
    color: var(--pancake-warning-text);
}

.pancake-content-creation-wait [data-pancake-activity-contents-status].is-error {
    color: var(--pancake-danger-text);
}

.pancake-recipe-primary-actions-secondary {
    flex: 2 1 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pancake-recipe-primary-actions-secondary .pancake-button {
    width: 100%;
}

.pancake-recipe-primary-actions .pancake-button {
    min-height: 36px;
    padding: 6px 14px;
}

.pancake-plan-objective-block {
    background: var(--pancake-sidebar);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    margin: 18px 0;
    padding: 14px;
}

.pancake-plan-objective-heading {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.pancake-plan-objective-block.is-collapsed .pancake-plan-objective-heading {
    margin-bottom: 0;
}

[data-pancake-welcome-details][hidden] {
    display: none;
}

.pancake-plan-objective-heading h3 {
    margin: 2px 0 0;
}

.pancake-export-modal-dialog {
    width: min(1120px, calc(100vw - 40px));
    max-height: calc(100vh - 40px);
    overflow: auto;
}

.pancake-export-modal-content {
    display: grid;
    gap: 18px;
}

.pancake-export-modal-loading {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--pancake-text-secondary);
    text-align: center;
}

.pancake-export-modal-loading i {
    font-size: 24px;
    color: var(--pancake-accent);
}

.pancake-foundation-lock-confirmation {
    display: grid;
    gap: 10px;
}

.pancake-foundation-lock-confirmation p {
    margin: 0;
}

/* First publication is irreversible: give its confirmation text deliberate room to breathe. */
#recipe-foundation-lock-modal .pancake-modal-dialog {
    max-width: 760px;
    padding: 42px;
}

#recipe-foundation-lock-modal .pancake-modal-header {
    margin-bottom: 30px;
}

#recipe-foundation-lock-modal .pancake-foundation-lock-confirmation {
    gap: 22px;
}

#recipe-foundation-lock-modal .pancake-foundation-lock-confirmation p {
    line-height: 1.6;
}

#recipe-foundation-lock-modal .pancake-foundation-lock-lead {
    line-height: 1.48;
}

#recipe-foundation-lock-modal .pancake-foundation-lock-detail {
    color: var(--pancake-text-secondary);
}

.pancake-foundation-lock-warning {
    align-items: center;
    background: color-mix(in srgb, var(--pancake-accent) 10%, var(--pancake-surface));
    border-radius: 14px;
    color: color-mix(in srgb, var(--pancake-accent) 76%, var(--pancake-text));
    display: flex;
    gap: 16px;
    padding: 20px 22px;
}

.pancake-foundation-lock-warning > i {
    flex: 0 0 auto;
    font-size: 1.9rem;
}

.pancake-foundation-lock-warning p {
    margin: 0;
}

#recipe-foundation-lock-modal .pancake-modal-footer-actions {
    margin-top: 32px;
    padding-top: 22px;
}

@media (max-width: 560px) {
    #recipe-foundation-lock-modal .pancake-modal-dialog {
        padding: 24px;
    }

    #recipe-foundation-lock-modal .pancake-modal-header {
        margin-bottom: 18px;
    }

    #recipe-foundation-lock-modal .pancake-modal-footer-actions {
        margin-top: 22px;
    }

    .pancake-foundation-lock-warning {
        align-items: flex-start;
        gap: 12px;
        padding: 16px;
    }
}

.pancake-foundation-lock-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid color-mix(in srgb, var(--pancake-accent) 24%, transparent);
    border-radius: 14px;
    background: color-mix(in srgb, var(--pancake-accent) 7%, white);
}

.pancake-foundation-lock-notice > i {
    margin-top: 2px;
    color: var(--pancake-accent);
}

.pancake-foundation-lock-notice p {
    margin: 4px 0;
}

.is-foundation-locked :is(input, textarea, select, button) {
    cursor: not-allowed;
}

.is-foundation-locked :is(input, textarea, select) {
    opacity: .72;
}

.pancake-publication-download-status {
    align-self: center;
    color: var(--pancake-text-secondary);
    font-size: 0.9rem;
}

.pancake-publication-download-status.is-success {
    color: var(--pancake-success);
}

.pancake-publication-download-status.is-error {
    color: var(--pancake-danger);
}

@media (max-width: 720px) {
    .pancake-recipe-workspace .pancake-recipe-primary-actions {
        align-items: center;
        bottom: 0;
        height: auto;
        left: 0;
        min-height: 59px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        right: 0;
    }

    .pancake-recipe-primary-actions-inner {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        transform: none;
    }

    .pancake-recipe-primary-actions-secondary {
        display: contents;
    }

    .pancake-recipe-workspace {
        padding-bottom: calc(140px + env(safe-area-inset-bottom));
    }

    .pancake-recipe-primary-actions-reason {
        grid-column: 1 / -1;
        flex: 1 0 100%;
        max-width: none;
        text-align: center;
        white-space: normal;
    }

    .pancake-recipe-missing-trigger {
        max-width: 100%;
        white-space: normal;
    }

    .pancake-recipe-primary-actions-secondary,
    .pancake-recipe-primary-actions .pancake-button {
        min-width: 0;
    }

    .pancake-recipe-primary-actions .pancake-button {
        min-height: 42px;
        padding: 8px 10px;
        white-space: normal;
        overflow-wrap: anywhere;
        width: 100%;
    }
}

.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: var(--pancake-surface-soft);
    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: var(--pancake-surface-soft);
    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: var(--pancake-white);
}

.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: var(--pancake-surface);
    border: 1px dashed var(--pancake-border-strong);
    border-radius: 14px;
    color: var(--pancake-primary);
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: 12px;
    justify-content: flex-start;
    margin-top: 26px;
    min-height: 56px;
    padding: 9px 14px;
    text-align: left;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    width: 100%;
}

.pancake-plan-edit-toolbar:hover,
.pancake-plan-edit-toolbar:focus-visible {
    border-color: var(--pancake-accent-border-strong);
    box-shadow: var(--pancake-shadow-elevated);
    outline: none;
    transform: translateY(-1px);
}

.pancake-plan-edit-toolbar-title {
    color: var(--pancake-primary);
    font-size: 1rem;
    line-height: 1.25;
}

.pancake-plan-add-sequence-icon {
    align-items: center;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-ink-16);
    border-radius: 9px;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
    width: 34px;
}

.pancake-plan-edit-toolbar:hover .pancake-plan-add-sequence-icon,
.pancake-plan-edit-toolbar:focus-visible .pancake-plan-add-sequence-icon {
    background: color-mix(in srgb, var(--pancake-muted) 8%, var(--pancake-surface));
    border-color: var(--pancake-muted);
    color: var(--pancake-muted);
}

.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: var(--pancake-surface-translucent-strong);
    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: var(--pancake-warning-text);
}

.pancake-plan-panel-tabs {
    background: var(--pancake-surface-soft);
    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: var(--pancake-white);
    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-list > .pancake-plan-add-sequence-row {
    border: 0;
    padding: 0;
}

.pancake-plan-add-sequence-row .pancake-plan-edit-toolbar {
    margin-top: 0;
}

.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);
}

/* Column activities stay flat; movement feedback belongs to the row item. */
.activity-row-item > .pancake-activity-edit-card {
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    box-shadow: none;
    transform: none;
    transition: background-color 160ms ease, border-color 160ms ease;
}

.activity-row-item > .pancake-activity-edit-card:hover,
.activity-row-item > .pancake-activity-edit-card.is-selected {
    background: color-mix(in srgb, var(--pancake-accent, #a57b4f) 5%, var(--pancake-surface));
    border-color: var(--pancake-border);
    box-shadow: none;
    transform: none;
}

.activity-row-item > .pancake-activity-edit-card:has(:focus-visible) {
    outline: 2px solid var(--pancake-accent, #a57b4f);
    outline-offset: 2px;
}

.pancake-objective-list > li.is-dragging,
.pancake-plan-edit-card.is-dragging,
.pancake-activity-edit-card.is-dragging {
    cursor: grabbing;
    opacity: 0.46;
    transform: scale(0.985);
}

.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: var(--pancake-surface-subtle);
    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: 1px dashed rgba(138, 92, 52, 0.2);
    outline-offset: 6px;
}

[data-pancake-sortable] > .is-drop-before,
[data-pancake-sortable] > .is-drop-after {
    position: relative;
}

[data-pancake-sortable] > .is-drop-before::before,
[data-pancake-sortable] > .is-drop-after::after {
    border-top: 2px dashed var(--pancake-text-secondary);
    content: "";
    left: 10px;
    opacity: 0.68;
    pointer-events: none;
    position: absolute;
    right: 10px;
    z-index: 4;
}

[data-pancake-sortable] > .is-drop-before::before {
    top: -8px;
}

[data-pancake-sortable] > .is-drop-after::after {
    bottom: -8px;
}

[data-pancake-sortable] > .is-drop-before {
    margin-top: 8px;
}

[data-pancake-sortable] > .is-drop-after {
    margin-bottom: 8px;
}

@media (prefers-reduced-motion: reduce) {
    .pancake-objective-list > li.is-dragging,
    .pancake-plan-edit-card.is-dragging,
    .pancake-activity-edit-card.is-dragging {
        transform: none;
    }
}

.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 36px;
}

.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.is-activity-drop-available {
    min-height: 72px;
}

.pancake-activity-drop-empty {
    display: none;
}

.pancake-activity-list.is-activity-drop-available:has(> .pancake-activity-drop-empty:only-child) > .pancake-activity-drop-empty,
.pancake-activity-list.is-drop-empty > .pancake-activity-drop-empty {
    align-items: center;
    background: transparent;
    border: 2px dashed color-mix(in srgb, var(--pancake-text-secondary) 55%, transparent);
    color: var(--pancake-text-secondary);
    display: flex;
    font-size: 0.82rem;
    justify-content: center;
    min-height: 72px;
    opacity: 0.72;
    padding: 8px 12px;
}

.pancake-activity-list.is-drop-empty > .pancake-activity-drop-empty {
    opacity: 1;
}

.is-activity-dragging [data-pancake-sequence-card] {
    cursor: default;
}

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

.pancake-activity-edit-card[data-pancake-pointer-draggable="1"] > .pancake-activity-header {
    cursor: grab;
    touch-action: none;
}

.pancake-activity-edit-card[data-pancake-pointer-draggable="1"].is-dragging > .pancake-activity-header {
    cursor: grabbing;
    user-select: none;
}

.pancake-modal-open .pancake-activity-edit-card[data-pancake-pointer-draggable="1"] > .pancake-activity-header,
.pancake-activity-edit-card[data-pancake-pointer-draggable="1"] .pancake-modal {
    cursor: auto;
}

.is-activity-drag-armed .pancake-plan-list,
.is-activity-drag-armed .pancake-plan-list * {
    -webkit-user-select: none;
    user-select: none;
}

.pancake-activity-drag-preview {
    align-items: center;
    background: color-mix(in srgb, var(--pancake-sidebar) 94%, transparent);
    border: 1px solid var(--pancake-accent-border-strong);
    border-radius: 12px;
    box-shadow: var(--pancake-shadow-elevated);
    color: var(--pancake-primary);
    display: grid;
    gap: 4px 10px;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 10px 12px;
    pointer-events: none;
    position: fixed;
    transform: rotate(0.35deg) scale(0.985);
    user-select: none;
    z-index: 10050;
}

.pancake-activity-drag-preview-type {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.pancake-activity-drag-preview strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pancake-activity-drag-preview-meta {
    color: var(--pancake-text-secondary);
    font-size: 0.76rem;
    font-weight: 700;
    grid-column: 1 / -1;
}

.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;
}

@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: var(--pancake-surface-soft);
        box-shadow: none;
        transform: translateY(0);
    }
}

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

[data-pancake-sequence-card].is-collapsed > .pancake-plan-sequence-header,
.pancake-activity-edit-card.is-collapsed > .pancake-activity-header {
    cursor: pointer;
}

.pancake-activity-edit-card.is-collapsed[data-pancake-pointer-draggable="1"] > .pancake-activity-header {
    cursor: grab;
}

.pancake-activity-disclosure,
.pancake-sequence-disclosure {
    align-items: center;
    align-self: center;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 9px;
    color: var(--pancake-primary);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 1.15rem;
    font-weight: 800;
    height: 34px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
    width: 34px;
}

.pancake-activity-disclosure {
    grid-column: 5;
    grid-row: 1;
    justify-self: end;
}

.pancake-activity-disclosure:hover,
.pancake-activity-disclosure:focus-visible,
.pancake-sequence-disclosure:hover,
.pancake-sequence-disclosure:focus-visible {
    background: var(--pancake-accent-soft);
    border-color: var(--pancake-accent-border-strong);
    color: var(--pancake-accent);
    outline: none;
}

.pancake-activity-disclosure:focus-visible,
.pancake-sequence-disclosure:focus-visible {
    box-shadow: 0 0 0 3px rgba(155, 112, 68, 0.18);
}

.pancake-activity-disclosure-symbol,
.pancake-sequence-disclosure-symbol {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.pancake-activity-disclosure .svg-inline--fa,
.pancake-sequence-disclosure .svg-inline--fa {
    font-size: 0.8rem;
}

.pancake-activity-disclosure[aria-expanded="false"] .pancake-disclosure-icon-expanded,
.pancake-sequence-disclosure[aria-expanded="false"] .pancake-disclosure-icon-expanded,
.pancake-activity-disclosure[aria-expanded="true"] .pancake-disclosure-icon-collapsed,
.pancake-sequence-disclosure[aria-expanded="true"] .pancake-disclosure-icon-collapsed {
    display: none;
}

.pancake-activity-details[hidden] {
    display: none;
}

.pancake-sequence-details[hidden] {
    display: none;
}

.pancake-activity-edit-card.is-collapsed {
    padding-bottom: 12px;
}

.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;
    justify-content: flex-end;
    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-embed-preview {
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    margin-top: 12px;
    overflow: hidden;
    padding: 10px;
    position: relative;
}

.pancake-validation-quiz-embed-preview {
    margin-top: 0;
}

.pancake-validation-quiz-preview-scroll {
    display: block;
    margin-top: 18px;
    overflow: hidden;
}

.pancake-validation-quiz-preview-scroll > .pancake-validation-quiz-embed-preview {
    box-sizing: border-box;
    height: 100%;
    min-width: 0;
}

.pancake-validation-quiz-preview-scroll .pancake-activity-embed-frame {
    height: 100% !important;
    max-height: 100%;
}

.pancake-activity-embed-status,
.pancake-activity-embed-empty,
.pancake-activity-embed-error {
    align-items: center;
    color: var(--pancake-muted);
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 180px;
    padding: 14px 16px;
    text-align: center;
}

.pancake-activity-list .pancake-activity-embed-empty {
    color: var(--pancake-danger);
}

.pancake-activity-embed-preview.is-loading .pancake-activity-embed-status::before {
    animation: pancake-spin 900ms linear infinite;
    border: 2px solid rgba(155, 112, 68, 0.22);
    border-radius: 50%;
    border-top-color: var(--pancake-accent);
    content: '';
    display: inline-block;
    height: 16px;
    margin-right: 8px;
    vertical-align: -3px;
    width: 16px;
}

.pancake-activity-embed-error,
.pancake-activity-embed-preview.is-error .pancake-activity-embed-status {
    color: var(--pancake-danger, #b42318);
}

.pancake-activity-embed-frame {
    background: transparent;
    border: 0;
    border-radius: 8px;
    display: block;
    min-height: 180px;
    width: 100%;
}

.pancake-activity-embed-preview.is-loading .pancake-activity-embed-frame {
    inset: 10px;
    pointer-events: none;
    position: absolute;
    visibility: hidden;
}

.pancake-activity-embed-preview.has-unsaved-quick-edit {
    border-color: rgba(155, 112, 68, 0.72);
    box-shadow: 0 0 0 2px var(--pancake-accent-ring);
}

.pancake-activity-embed-frame[hidden] {
    display: none;
}

.pancake-activity-action-separator {
    align-self: stretch;
    border-left: 1px solid var(--pancake-border);
    margin-left: 2px;
    min-height: 28px;
}

.pancake-activity-delete-action {
    margin-left: 2px;
}

.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: var(--pancake-danger-text);
}

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

.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: var(--pancake-warning-text);
}

.pancake-activity-stale-notice {
    align-items: center;
}

.pancake-activity-stale-notice form {
    display: inline-flex;
    margin-left: 4px;
}

.pancake-activity-stale-accept {
    background: transparent;
    border-color: transparent;
    color: currentColor;
    height: 28px;
    min-height: 28px;
    width: 28px;
}

.pancake-activity-stale-accept:hover,
.pancake-activity-stale-accept:focus-visible {
    background: rgba(138, 90, 31, 0.12);
    border-color: currentColor;
}

.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-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.pancake-editorial-status-form {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pancake-editorial-status-form select {
    min-width: 132px;
    min-height: 34px;
    padding: 5px 30px 5px 10px;
    border: 1px solid var(--pancake-border, #ded8d0);
    border-radius: 6px;
    background: var(--pancake-white);
    color: inherit;
    font: inherit;
}

.js .pancake-editorial-status-form[data-pancake-async-lifecycle="editorial"] > button[type="submit"] {
    display: none;
}

.pancake-lifecycle-form-status {
    color: var(--pancake-muted);
    font-size: 0.76rem;
    font-weight: 700;
    min-width: 0;
    white-space: nowrap;
}

.pancake-lifecycle-form-status:empty {
    display: none;
}

.pancake-lifecycle-form-status.is-success {
    color: #39734f;
}

.pancake-lifecycle-form-status.is-error {
    color: #a53b3b;
}

.pancake-activity-state.is-missing {
    background: #fff7e8;
    border-color: #f0d1a1;
    color: var(--pancake-warning-text);
}

.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: var(--pancake-warning-text);
}

.pancake-activity-state.is-error {
    background: #fff1ef;
    border-color: #e8b3a9;
    color: var(--pancake-danger-text);
}

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

.pancake-add-activity-button {
    align-items: center;
    background: var(--pancake-sidebar);
    border: 1px dashed var(--pancake-border-strong);
    border-radius: 14px;
    box-sizing: border-box;
    color: var(--pancake-primary);
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: 12px;
    justify-content: flex-start;
    margin: 14px 0 0 14px;
    min-height: 56px;
    padding: 9px 14px;
    text-align: left;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    width: calc(100% - 14px);
}

.pancake-add-activity-button:hover,
.pancake-add-activity-button:focus-visible {
    border-color: var(--pancake-accent-border-strong);
    box-shadow: var(--pancake-shadow-elevated);
    outline: none;
    transform: translateY(-1px);
}

.pancake-add-activity-icon {
    align-items: center;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-ink-16);
    border-radius: 9px;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
    width: 34px;
}

.pancake-add-activity-button:hover .pancake-add-activity-icon,
.pancake-add-activity-button:focus-visible .pancake-add-activity-icon {
    background: color-mix(in srgb, var(--pancake-muted) 8%, var(--pancake-surface));
    border-color: var(--pancake-muted);
    color: var(--pancake-muted);
}

.pancake-activity-type-icon {
    align-items: center;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 50%;
    color: var(--pancake-primary);
    display: inline-flex;
    flex: 0 0 32px;
    font-size: 0.9rem;
    height: 32px;
    justify-content: center;
    width: 32px;
}

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

.pancake-activity-header .pancake-activity-state {
    margin: 0;
}

.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-activity-list .pancake-activity-instructions {
    color: var(--pancake-text-secondary);
}

.pancake-design-guidance {
    align-items: center;
    background: transparent;
    border: 1px dotted var(--pancake-border);
    border-radius: 12px;
    display: flex;
    gap: 12px;
    margin: 12px 0 0;
    padding: 10px 12px;
}

.pancake-design-guidance-body {
    align-items: center;
    display: grid;
    flex: 1 1 auto;
    gap: 8px 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
}

.pancake-design-guidance [data-pancake-guidance-display] {
    cursor: text;
    min-width: 0;
    outline: none;
}

.pancake-design-guidance [data-pancake-guidance-display]:focus-visible {
    border-radius: 6px;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--pancake-accent) 35%, transparent);
}

.pancake-design-guidance-edit {
    align-self: center;
}

.pancake-design-guidance form[data-pancake-guidance-form] {
    grid-column: 1 / -1;
}

.pancake-design-guidance textarea[name="guidance"] {
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 9px;
    box-sizing: border-box;
    color: var(--pancake-text);
    font-family: inherit;
    font-size: inherit;
    font-style: italic;
    line-height: 1.45;
    min-height: 82px;
    padding: 10px 12px;
    resize: vertical;
    width: 100%;
}

.pancake-design-guidance textarea[name="guidance"]:focus {
    border-color: var(--pancake-accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--pancake-accent) 20%, transparent);
    outline: none;
}

.pancake-design-guidance-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.pancake-design-guidance [data-pancake-guidance-status] {
    color: var(--pancake-muted);
    font-size: 0.85rem;
}

.pancake-design-guidance.is-editing {
    align-items: flex-start;
}

.pancake-module-objective-inline {
    align-items: flex-start;
    background: transparent;
    border: 1px dotted var(--pancake-border);
    border-radius: 12px;
    display: flex;
    gap: 12px;
    margin: 12px 0 0;
    padding: 10px 12px;
}

.pancake-plan-objective-block .pancake-module-objective-inline,
.pancake-sequence-objective-inline,
.pancake-sequence-context-inline,
.pancake-sequence-warning-inline,
.pancake-sequence-synthesis-inline {
    border: 0;
}

.pancake-module-objective-icon {
    align-items: center;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 9px;
    color: var(--pancake-accent);
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.pancake-module-objective-body {
    flex: 1 1 auto;
    min-width: 0;
}

.pancake-module-objective-heading {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.pancake-module-objective-heading form[data-pancake-visibility-form] {
    margin-left: auto;
}

.pancake-module-objective-heading form[data-pancake-visibility-form] + .pancake-module-objective-edit {
    margin-left: -4px;
}

.pancake-validation-quiz-card.is-module-hidden > .pancake-validation-quiz-header,
.pancake-module-objective-inline.is-module-hidden {
    opacity: 0.45;
}

.pancake-module-objective-inline.is-editing {
    opacity: 1;
}

.pancake-module-objective-inline.is-editing form[data-pancake-visibility-form] {
    display: none;
}

.pancake-module-objective-heading strong,
.pancake-module-objective-display {
    cursor: text;
    outline: none;
}

.pancake-module-objective-heading strong:focus-visible,
.pancake-module-objective-display:focus-visible {
    border-radius: 6px;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--pancake-accent) 35%, transparent);
}

.pancake-module-objective-display {
    color: var(--pancake-text-secondary);
    line-height: 1.45;
    margin-top: 5px;
}

.pancake-module-objective-display p,
.pancake-module-objective-display ul,
.pancake-module-objective-display ol {
    color: inherit;
    font-style: normal;
}

.pancake-module-objective-inline form[data-pancake-objective-form] {
    margin-top: 10px;
}

.pancake-module-objective-inline form[data-pancake-objective-form] > label,
.pancake-sequence-warning-inline form[data-pancake-warning-form] > label {
    color: var(--pancake-muted);
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    margin: 0 8px 8px 0;
    text-transform: uppercase;
}

.pancake-module-objective-inline form[data-pancake-objective-form] > label.pancake-inline-field-label,
.pancake-sequence-warning-inline form[data-pancake-warning-form] > label.pancake-inline-field-label {
    display: block;
    margin: 4px 0 8px;
    width: 100%;
}

.pancake-module-objective-inline form[data-pancake-objective-form] > select[name="display_mode"],
.pancake-sequence-warning-inline form[data-pancake-warning-form] > select[name="warning_points_display_mode"] {
    appearance: none;
    background-color: var(--pancake-warm-overlay);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%236d6259' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right 10px center;
    background-repeat: no-repeat;
    border: 1px solid var(--pancake-border);
    border-radius: 9px;
    color: var(--pancake-text);
    cursor: pointer;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    margin: 0 0 8px;
    min-height: 34px;
    padding: 6px 32px 6px 11px;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.pancake-sequence-warning-inline form[data-pancake-warning-form] > select[name="warning_points_display_mode"] {
    justify-self: start;
    width: auto;
}

.pancake-module-objective-inline form[data-pancake-objective-form] > select[name="display_mode"]:hover,
.pancake-sequence-warning-inline form[data-pancake-warning-form] > select[name="warning_points_display_mode"]:hover {
    border-color: var(--pancake-accent);
}

.pancake-module-objective-inline form[data-pancake-objective-form] > select[name="display_mode"]:focus-visible,
.pancake-sequence-warning-inline form[data-pancake-warning-form] > select[name="warning_points_display_mode"]:focus-visible {
    border-color: var(--pancake-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pancake-accent) 18%, transparent);
    outline: none;
}

.pancake-sequence-warning-inline form[data-pancake-warning-form] {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: max-content max-content minmax(0, 1fr);
    margin-top: 10px;
}

.pancake-sequence-warning-inline form[data-pancake-warning-form] > .pancake-inline-field-label,
.pancake-sequence-warning-inline form[data-pancake-warning-form] > textarea,
.pancake-sequence-warning-inline form[data-pancake-warning-form] > .pancake-module-objective-actions {
    grid-column: 1 / -1;
}

.pancake-sequence-warning-inline form[data-pancake-warning-form] > textarea {
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    box-sizing: border-box;
    color: var(--pancake-text);
    font: inherit;
    line-height: 1.5;
    min-height: 145px;
    padding: 12px;
    resize: vertical;
    transition: border-color 160ms ease, box-shadow 160ms ease;
    width: 100%;
}

.pancake-sequence-warning-inline form[data-pancake-warning-form] > textarea:focus {
    border-color: var(--pancake-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pancake-accent) 18%, transparent);
    outline: none;
}

.pancake-sequence-warning-inline [data-pancake-warning-display] ul {
    margin: 5px 0 0;
    padding-left: 20px;
}

.pancake-module-objective-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.pancake-module-objective-inline [data-pancake-objective-status] {
    color: var(--pancake-muted);
    font-size: 0.85rem;
}

.pancake-sequence-warning-inline [data-pancake-warning-status] {
    color: var(--pancake-muted);
    font-size: 0.85rem;
}

.pancake-design-guidance p,
.pancake-activity-list .pancake-design-guidance p {
    color: var(--pancake-text-secondary);
    font-style: italic;
    line-height: 1.45;
    margin: 0;
}

.pancake-validation-quiz-card > .pancake-activity-instructions {
    color: var(--pancake-text-secondary);
    margin: 12px 0 0;
}

.pancake-plan-list > .pancake-validation-quiz-card {
    background: var(--pancake-sidebar);
}

.pancake-validation-quiz-header {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) auto;
}

.pancake-validation-quiz-side,
.pancake-validation-quiz-meta {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.pancake-validation-quiz-side {
    align-items: flex-end;
    flex-direction: column;
}

.pancake-validation-quiz-header .pancake-activity-state,
.pancake-validation-quiz-actions {
    margin: 0;
}

.pancake-validation-quiz-header .pancake-validation-quiz-question-count {
    color: var(--pancake-accent);
    font-weight: 700;
}

.pancake-validation-quiz-content {
    margin-top: 12px;
}

.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;
    /* Keep the absolute, visually hidden file input inside the scrolling
     * field. Otherwise focusing it scrolls the overflow:hidden dialog itself,
     * moving its header and footer out of the frame. */
    position: relative;
}

.pancake-image-dropzone {
    align-items: center;
    background: var(--pancake-white);
    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: var(--pancake-surface-highlight);
    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: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    display: block;
    max-height: 360px;
    object-fit: contain;
    width: 100%;
}

.pancake-plan-cover-field {
    background: var(--pancake-surface-highlight);
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    display: grid;
    gap: 12px;
    padding: 12px;
}

.pancake-plan-cover-field [data-pancake-image-preview] img {
    aspect-ratio: 16 / 9;
    max-height: 220px;
    object-fit: cover;
}

.pancake-cover-source-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-cover-source-badge {
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-muted);
    font-size: 0.78rem;
    font-weight: 700;
    padding: 5px 9px;
}

.pancake-plan-cover-field .pancake-image-dropzone {
    flex-wrap: wrap;
}

.pancake-plan-cover-field .pancake-image-dropzone small {
    flex-basis: 100%;
}

.pancake-plan-cover-inline {
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    cursor: pointer;
    display: block;
    margin: 12px auto 0;
    max-width: 720px;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
}

.pancake-plan-cover-inline[hidden] {
    display: none;
}

.pancake-plan-cover-inline img {
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    width: 100%;
}

.pancake-plan-cover-inline-edit {
    align-items: center;
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 9px;
    bottom: 10px;
    box-shadow: var(--pancake-shadow-soft);
    display: flex;
    height: 36px;
    justify-content: center;
    position: absolute;
    right: 10px;
    width: 36px;
}

.pancake-plan-cover-inline:hover,
.pancake-plan-cover-inline:focus-visible {
    border-color: var(--pancake-primary);
    box-shadow: var(--pancake-shadow-elevated);
    outline: none;
}

.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: var(--pancake-surface-highlight);
    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 var(--pancake-brand-soft);
}

.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-render-text-image.has-image {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.pancake-render-text-image .pancake-render-text-column,
.pancake-render-text-image .pancake-render-image {
    min-width: 0;
}

.pancake-render-text-image.has-image .pancake-render-image {
    margin-top: 0;
}

.pancake-render-layout-image-left-50 .pancake-render-image,
.pancake-render-layout-image-left-65 .pancake-render-image,
.pancake-render-layout-image-top-full .pancake-render-image {
    order: -1;
}

.pancake-render-layout-image-right-35.has-image {
    grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr);
}

.pancake-render-layout-image-left-65.has-image {
    grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr);
}

.pancake-render-layout-image-bottom-full.has-image,
.pancake-render-layout-image-top-full.has-image {
    grid-template-columns: minmax(0, 1fr);
}

.pancake-render-text-image.is-text-centered .pancake-render-text-column {
    align-self: center;
}

@media (max-width: 760px) {
    .pancake-render-text-image.has-image {
        grid-template-columns: minmax(0, 1fr);
    }

    .pancake-render-text-image.is-text-centered .pancake-render-text-column {
        align-self: stretch;
    }
}

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

/* A published recipe keeps its source files as a full-width read-only list. */
.pancake-ingredient-layout.is-foundation-locked {
    display: block;
    margin: 24px 0;
}

.pancake-ingredient-layout.is-foundation-locked .pancake-ingredient-list {
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-sizing: border-box;
    padding: 20px;
    width: 100%;
    margin: 0;
}

.pancake-upload-box {
    background: var(--pancake-surface-translucent);
    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: var(--pancake-surface-highlight);
    border-color: var(--pancake-primary);
    box-shadow: 0 14px 28px var(--pancake-brand-soft);
    transform: translateY(-1px);
}

.pancake-dropzone:focus-visible {
    outline: 3px solid var(--pancake-focus);
    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: var(--pancake-white);
    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: var(--pancake-white);
    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: var(--pancake-brand-soft);
    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-file-list strong + small {
    margin-top: 2px;
}

.pancake-file-link {
    color: var(--pancake-text);
    overflow-wrap: anywhere;
    text-decoration: underline;
    text-decoration-color: var(--pancake-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.pancake-file-link:hover {
    color: var(--pancake-primary);
}

.pancake-file-link:focus-visible {
    border-radius: 4px;
    outline: 3px solid var(--pancake-focus);
    outline-offset: 3px;
}

.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;
    min-width: 0;
}

.pancake-dashboard-page > *,
.pancake-project-page > * {
    min-width: 0;
}

.pancake-has-shell .pancake-dashboard-page {
    gap: 50px;
    padding-top: 60px;
}

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

.pancake-dashboard-page .pancake-dashboard-intro {
    display: block;
    text-align: center;
    width: 100%;
}

.pancake-dashboard-page .pancake-dashboard-intro::before {
    display: none;
}

.pancake-dashboard-page .pancake-dashboard-intro h1,
.pancake-dashboard-page .pancake-dashboard-intro h2 {
    font-size: 2em;
    font-weight: 400;
    margin-block: 0.67em;
    text-align: center;
}

.pancake-dashboard-page .pancake-dashboard-intro .pancake-muted {
    font-style: italic;
    margin: 0;
    text-align: center;
}

.pancake-has-shell .pancake-project-context-page {
    gap: 50px;
    max-width: none;
    padding: 0 0 48px;
    position: static;
}

.pancake-project-context-hero {
    display: grid;
    position: relative;
}

.pancake-has-shell .pancake-project-context-page.pancake-recipe-workflow-page {
    padding-top: 50px;
}

.pancake-shell-content > .pancake-recipe-header-expert {
    position: absolute;
    top: 12px;
    right: 28px;
    z-index: 2;
}

@media (max-width: 980px) {
    .pancake-shell-content > .pancake-recipe-header-expert {
        right: 16px;
    }
}

.pancake-project-appearance-button {
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 8px 24px var(--pancake-ink-12);
    position: absolute;
    right: 24px;
    top: 24px;
    z-index: 3;
}

.pancake-project-context-page > :not(.pancake-project-context-hero):not(.pancake-modal) {
    margin-left: auto;
    margin-right: auto;
    max-width: 1064px;
    width: calc(100% - 56px);
}

.pancake-recipes-project-banner {
    align-items: center;
    display: flex;
    height: clamp(100px, 20vh, 300px);
    justify-content: center;
    margin: 0;
    overflow: hidden;
    width: 100%;
}

.pancake-recipes-project-banner img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.pancake-recipes-project-banner img.pancake-recipes-project-logo {
    height: auto;
    max-height: 60%;
    max-width: min(240px, 34vw);
    object-fit: contain;
    width: auto;
}

.pancake-recipe-workflow-page .pancake-workflow-expert-toggle {
    position: absolute;
    right: 72px;
    top: 24px;
    z-index: 2;
}

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

.pancake-workflow-step-heading p {
    color: var(--pancake-text);
    font-size: 1.2rem;
    font-weight: 400;
    margin: 0;
    white-space: nowrap;
}

.pancake-project-dashboard-intro {
    justify-content: center;
    margin: 0;
}

.pancake-project-dashboard-intro .pancake-dashboard-intro {
    display: block;
    text-align: center;
    width: 100%;
}

.pancake-project-dashboard-intro .pancake-dashboard-intro::before {
    display: none;
}

.pancake-project-dashboard-intro .pancake-dashboard-intro h1 {
    font-weight: 400;
    text-align: center;
}

.pancake-project-dashboard-intro .pancake-dashboard-intro .pancake-muted {
    font-style: italic;
    margin: 0;
    text-align: center;
}

.pancake-recipes-page .pancake-project-dashboard-intro .pancake-archive-visibility-toggle {
    margin: 50px auto 0;
}

.pancake-recipes-page .pancake-section-heading {
    margin-bottom: 50px;
    margin-top: 25px;
}

.pancake-recipes-page .pancake-recipes-grid-section {
    margin-top: 0;
}

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

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

.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-text-secondary);
    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-users-list-section {
    display: grid;
    gap: 50px;
    margin-top: 0;
}

.pancake-users-page .pancake-users-list-actions {
    justify-content: center;
}

.pancake-has-shell .pancake-users-page .pancake-users-list-panel {
    background: transparent;
    border: 0;
    box-shadow: none;
    max-width: none;
    padding: 0;
}

.pancake-users-page .pancake-user-filter-bar {
    margin-top: 0;
}

.pancake-users-page .pancake-user-list-row > span:not(.pancake-status-pill),
.pancake-users-page .pancake-user-list-account strong {
    color: var(--pancake-text);
}

.pancake-users-page .pancake-user-list-account small {
    color: var(--pancake-text-secondary);
}

.pancake-users-page .pancake-user-table .pancake-user-table-head,
.pancake-users-page .pancake-user-table .pancake-user-list-row {
    grid-template-columns: minmax(170px, 1.35fr) minmax(170px, 1.15fr) minmax(120px, 0.75fr) minmax(75px, 0.55fr) minmax(130px, 0.75fr) 76px;
}

.pancake-users-page .pancake-user-table .pancake-user-table-head > span:nth-child(n + 3),
.pancake-users-page .pancake-user-table .pancake-user-list-row > span:nth-child(n + 3) {
    text-align: center;
}

.pancake-users-page .pancake-user-table .pancake-user-list-actions {
    justify-content: center;
}

.pancake-has-shell .pancake-users-edit-page {
    gap: 32px;
    padding-top: 60px;
}

.pancake-users-edit-page .pancake-users-edit-intro h1 {
    margin: 0;
}

.pancake-users-edit-page .pancake-users-edit-intro {
    scroll-margin-top: 110px;
}

.pancake-users-edit-page .pancake-users-edit-intro p {
    color: var(--pancake-accent);
    margin: 12px auto 0;
    max-width: 800px;
}

.pancake-users-edit-page .pancake-user-edit-form {
    gap: 32px;
}

.pancake-users-edit-page .pancake-user-edit-form > .pancake-panel,
.pancake-users-edit-page #user-memberships {
    max-width: none;
    padding: 28px;
}

.pancake-users-edit-page .pancake-user-section-heading {
    display: block;
    margin: 0 0 28px;
    text-align: center;
    width: 100%;
}

.pancake-users-edit-page .pancake-user-section-heading h2 {
    font-size: 1.3rem;
    margin: 0;
}

.pancake-users-edit-page .pancake-user-section-heading p {
    color: var(--pancake-text-secondary);
    margin: 8px 0 0;
}

.pancake-users-unassigned-page .pancake-users-unassigned-intro h1 {
    margin: 0;
}

.pancake-users-unassigned-page .pancake-users-unassigned-intro p {
    color: var(--pancake-accent);
    margin: 12px auto 0;
    max-width: 800px;
}

.pancake-users-unassigned-page .pancake-users-unassigned-detail-heading {
    display: block;
    margin-bottom: 28px;
    text-align: center;
}

.pancake-users-unassigned-page .pancake-users-unassigned-detail-heading h2 {
    margin: 0;
}

.pancake-users-unassigned-page .pancake-users-unassigned-detail-heading p {
    color: var(--pancake-text-secondary);
    margin: 8px 0 0;
}

.pancake-users-unassigned-count {
    color: var(--pancake-text-secondary);
    margin: 0 0 20px;
    text-align: right;
}

.pancake-users-unassigned-list .pancake-empty-state {
    padding: 32px;
    text-align: center;
}

.pancake-users-import-page .pancake-users-import-intro h1 {
    margin: 0;
}

.pancake-users-import-page .pancake-users-import-intro p {
    color: var(--pancake-accent);
    margin: 12px auto 0;
    max-width: 800px;
}

.pancake-users-import-page .pancake-users-import-panel {
    max-width: none;
    padding: 28px;
}

.pancake-users-import-page .pancake-users-import-section-heading {
    display: block;
    margin-bottom: 28px;
    text-align: center;
}

.pancake-users-import-page .pancake-users-import-section-heading h2 {
    margin: 0;
}

.pancake-users-import-page .pancake-users-import-section-heading p {
    color: var(--pancake-text-secondary);
    margin: 8px 0 0;
}

.pancake-users-import-template-action,
.pancake-users-import-job-actions {
    justify-content: flex-end;
}

.pancake-users-import-page .pancake-users-import-form {
    margin: 24px auto 0;
    max-width: 720px;
    width: 100%;
}

.pancake-users-import-page .pancake-users-import-rules {
    margin-top: 28px;
}

.pancake-users-import-page .pancake-users-import-rules p {
    color: var(--pancake-text-secondary);
}

.pancake-users-import-page .pancake-users-import-job-actions {
    margin-bottom: 24px;
}

.pancake-clients-list-section {
    display: grid;
    gap: 50px;
    margin-top: 28px;
}

.pancake-section-heading-lined {
    align-items: center;
}

.pancake-section-heading-title-line {
    align-items: center;
    display: flex;
    flex: 1;
    gap: 14px;
    min-width: 0;
    width: 100%;
}

.pancake-section-heading-title-line::before,
.pancake-section-heading-title-line::after {
    background: var(--pancake-border);
    content: "";
    flex: 1;
    height: 1px;
}

.pancake-section-heading-title-line h2 {
    font-size: 22px;
    font-weight: 400;
    text-align: center;
}

.pancake-dashboard-page .pancake-section-heading {
    margin-bottom: 50px;
    margin-top: 25px;
}

.pancake-dashboard-page .pancake-projects-guidance {
    margin: 25px 0 50px;
    text-align: center;
}

.pancake-dashboard-page .pancake-projects-guidance .pancake-archive-visibility-toggle {
    margin: 16px auto 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: var(--pancake-white);
    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(155, 112, 68, 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(4, minmax(0, 1fr));
    min-width: 0;
    width: 100%;
}

@media (max-width: 1180px) {
    .pancake-project-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .pancake-project-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

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

.pancake-project-page.pancake-recipes-page .pancake-project-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1180px) {
    .pancake-project-page.pancake-recipes-page .pancake-project-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .pancake-project-page.pancake-recipes-page .pancake-project-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .pancake-project-page.pancake-recipes-page .pancake-project-card-grid {
        grid-template-columns: minmax(0, 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;
    min-width: 0;
    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-recipe-tile.is-archived {
    background: var(--pancake-surface-muted);
    border-style: dashed;
    filter: grayscale(0.72);
    opacity: 0.7;
}

.pancake-project-tile.is-archived {
    background: var(--pancake-surface-muted);
    border-style: dashed;
    filter: grayscale(0.72);
    opacity: 0.7;
}

.pancake-project-tile.is-archived:hover,
.pancake-project-tile.is-archived:focus-within {
    box-shadow: var(--pancake-shadow-soft);
    transform: none;
}

.pancake-project-tile.is-archived .pancake-project-cover img {
    filter: grayscale(1);
}

.pancake-recipe-tile.is-archived:hover,
.pancake-recipe-tile.is-archived:focus-within {
    box-shadow: var(--pancake-shadow-soft);
    transform: none;
}

.pancake-recipe-tile.is-archived .pancake-recipe-cover img {
    filter: grayscale(1);
}

.pancake-archive-visibility-toggle {
    align-items: center;
    align-self: start;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-text);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 700;
    gap: 10px;
    justify-self: start;
    padding: 10px 12px;
}

.pancake-archive-visibility-toggle i {
    color: var(--pancake-muted);
    font-size: 1.35rem;
}

.pancake-archive-visibility-toggle.is-active i {
    color: var(--pancake-primary);
}

.pancake-archive-visibility-toggle:focus-visible {
    outline: 3px solid var(--pancake-focus);
    outline-offset: 2px;
}

.pancake-archive-visibility-toggle[disabled] {
    cursor: not-allowed;
    opacity: 0.55;
}

.pancake-search-page {
    display: grid;
    gap: 25px;
}

.pancake-search-page > * {
    min-width: 0;
}

.pancake-search-hero {
    margin-bottom: 0;
}

.pancake-search-form {
    box-sizing: border-box;
    display: grid;
    gap: 10px;
    max-width: none;
    padding: 25px;
    width: 100%;
}

.pancake-search-form > label {
    font-weight: 800;
}

.pancake-search-form > div {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.pancake-search-form input {
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border-strong);
    border-radius: 10px;
    box-sizing: border-box;
    color: var(--pancake-text);
    font: inherit;
    min-height: 44px;
    min-width: 0;
    padding: 10px 13px;
    width: 100%;
}

.pancake-search-form input:focus {
    border-color: var(--pancake-focus);
    box-shadow: 0 0 0 3px var(--pancake-accent-soft);
    outline: 0;
}

.pancake-search-form .pancake-muted {
    margin: 0;
}

.pancake-search-sections {
    display: grid;
    gap: 25px;
    min-width: 0;
}

.pancake-search-section {
    box-sizing: border-box;
    display: grid;
    gap: 20px;
    max-width: none;
    min-width: 0;
    padding: 25px;
    width: 100%;
}

.pancake-search-section > header {
    align-items: end;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.pancake-search-section > header h2,
.pancake-search-section > header p {
    margin: 0;
}

.pancake-search-section > header > span {
    color: var(--pancake-muted);
    flex: 0 0 auto;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-search-result-list {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.pancake-search-result,
.pancake-search-result:visited {
    align-items: center;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    color: var(--pancake-text);
    display: grid;
    gap: 14px;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    min-width: 0;
    padding: 14px;
    text-decoration: none;
}

.pancake-search-result:hover,
.pancake-search-result:focus-visible {
    border-color: var(--pancake-accent-border);
    box-shadow: var(--pancake-shadow-soft);
    outline: 0;
}

.pancake-search-result-icon {
    align-items: center;
    background: var(--pancake-panel);
    border-radius: 12px;
    color: var(--pancake-accent);
    display: inline-flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.pancake-search-result-content {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.pancake-search-result-content strong,
.pancake-search-result-content small,
.pancake-search-result-content span {
    overflow-wrap: anywhere;
}

.pancake-search-result-content small {
    color: var(--pancake-muted);
    font-weight: 700;
}

.pancake-search-result-content span {
    color: var(--pancake-text-secondary);
}

.pancake-search-empty {
    align-items: center;
    background: var(--pancake-surface);
    border: 1px dashed var(--pancake-border-strong);
    border-radius: 14px;
    color: var(--pancake-text-secondary);
    display: flex;
    gap: 12px;
    padding: 18px;
}

.pancake-search-empty p,
.pancake-search-limit-note {
    margin: 0;
}

.pancake-search-limit-note {
    color: var(--pancake-text-secondary);
    font-size: 0.84rem;
}

.pancake-project-create-tile {
    background: rgba(42, 37, 32, 0.025);
    border: 1px dashed var(--pancake-border-strong);
}

.pancake-project-create-tile:hover,
.pancake-project-create-tile:focus-within {
    border-color: var(--pancake-accent-border-strong);
}

.pancake-project-cover.pancake-project-create-cover {
    background: transparent;
}

.pancake-project-create-tile .pancake-project-body {
    align-content: center;
    box-sizing: border-box;
    inset: 0;
    padding: 18px 18px 64px;
    position: absolute;
    pointer-events: none;
    z-index: 2;
}

.pancake-project-create-open-layer {
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0;
}

.pancake-project-create-tile .pancake-project-footer {
    justify-content: flex-end;
}

.pancake-grid-empty-card .pancake-project-body {
    align-content: center;
    box-sizing: border-box;
    min-height: 280px;
    padding: 18px;
}

.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,
.pancake-recipes-project-banner.tone-1 {
    background: #efe2d6;
}

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

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

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

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

.pancake-project-cover.tone-6,
.pancake-recipes-project-banner.tone-6 {
    background: var(--pancake-white);
}

.pancake-card-tone-fieldset {
    border: 0;
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.pancake-card-tone-fieldset legend {
    color: var(--pancake-text);
    font-weight: 700;
    padding: 0;
}

.pancake-card-tone-fieldset p {
    margin: 0;
}

.pancake-card-tone-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pancake-card-tone-option {
    cursor: pointer;
    display: block;
}

.pancake-card-tone-swatch {
    align-items: center;
    border: 2px solid transparent;
    border-radius: 8px;
    box-shadow: 0 0 0 1px var(--pancake-border);
    color: var(--pancake-text);
    display: flex;
    height: 34px;
    justify-content: center;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    width: 34px;
}

.pancake-card-tone-swatch.tone-1 { background: #efe2d6; }
.pancake-card-tone-swatch.tone-2 { background: #dce8e4; }
.pancake-card-tone-swatch.tone-3 { background: #e6e1ee; }
.pancake-card-tone-swatch.tone-4 { background: #e7ead8; }
.pancake-card-tone-swatch.tone-5 { background: #e4e7ed; }
.pancake-card-tone-swatch.tone-6 { background: var(--pancake-white); }

.pancake-card-tone-option input:checked + .pancake-card-tone-swatch {
    border-color: var(--pancake-primary);
    box-shadow: 0 0 0 2px var(--pancake-border-strong);
    transform: translateY(-1px);
}

.pancake-card-tone-option input:focus-visible + .pancake-card-tone-swatch {
    outline: 3px solid rgba(155, 112, 68, 0.38);
    outline-offset: 3px;
}

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

.pancake-project-cover .pancake-project-banner-image {
    height: 138px;
    max-height: none;
    max-width: none;
    object-fit: cover;
    width: 100%;
}

.pancake-card-banner-fieldset {
    border: 0;
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.pancake-card-banner-fieldset legend {
    color: var(--pancake-text);
    font-weight: 700;
    padding: 0;
}

.pancake-card-banner-fieldset > p {
    margin: 0;
}

.pancake-card-banner-control {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.pancake-card-banner-preview {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: rgba(42, 37, 32, 0.025);
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    margin: 0;
    overflow: hidden;
    width: min(240px, 100%);
}

.pancake-card-banner-preview[data-pancake-dropzone] {
    border-style: dashed;
    cursor: pointer;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.pancake-card-banner-preview[data-pancake-dropzone]:hover,
.pancake-card-banner-preview[data-pancake-dropzone]:focus-visible,
.pancake-card-banner-preview[data-pancake-dropzone].is-dragover {
    background: var(--pancake-accent-soft);
    border-color: var(--pancake-accent);
    box-shadow: 0 0 0 3px var(--pancake-accent-ring);
    outline: 0;
}

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

.pancake-card-logo-preview {
    background: var(--pancake-surface-soft);
}

.pancake-card-logo-preview img {
    object-fit: contain;
    padding: 18px;
}

.pancake-card-banner-preview img[hidden] {
    display: none;
}

.pancake-card-banner-preview span {
    color: var(--pancake-text-secondary);
    display: none;
    font-size: 0.82rem;
}

.pancake-card-banner-preview.is-empty span {
    display: block;
}

.pancake-card-banner-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-card-banner-actions small {
    color: var(--pancake-text-secondary);
    flex-basis: 100%;
}

.pancake-card-banner-select {
    cursor: pointer;
    margin: 0;
}

.pancake-recipe-cover {
    background: var(--pancake-surface-muted);
    overflow: hidden;
}

.pancake-recipe-cover img {
    display: block;
    height: 138px;
    object-fit: cover;
    width: 100%;
}

.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) {
    color: var(--pancake-text-secondary);
    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) {
    color: var(--pancake-text-secondary);
    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-recipe-status-row {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    min-width: 0;
}

.pancake-recipe-tile .pancake-project-summary [data-translation-progress] {
    font-size: 0.78rem;
    line-height: 1.4;
    margin: 0.35rem 0 0.65rem;
}

.pancake-recipe-publication-icon {
    color: var(--pancake-text-secondary);
    flex: 0 0 auto;
    font-size: 1rem;
    line-height: 1;
}

.pancake-recipe-publication-icon.is-published {
    color: var(--pancake-accent);
}

.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 var(--pancake-border-soft);
    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-project-footer .pancake-card-meta span > i {
    margin-right: 5px;
}

.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 var(--pancake-border-soft);
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.pancake-card-actions a.pancake-icon-button,
.pancake-card-actions a.pancake-icon-button:link,
.pancake-card-actions a.pancake-icon-button:visited {
    color: var(--pancake-primary);
    text-decoration: none;
}

.pancake-card-actions .pancake-icon-button:not(.pancake-icon-danger):not([disabled]):hover,
.pancake-card-actions .pancake-icon-button:not(.pancake-icon-danger):not([disabled]):focus-visible {
    background: var(--pancake-ink-06);
    border-color: var(--pancake-border-strong);
    box-shadow: 0 10px 20px var(--pancake-border-medium);
    color: var(--pancake-text);
    transform: translateY(-1px);
}

.pancake-card-actions .pancake-icon-danger:not([disabled]):hover,
.pancake-card-actions .pancake-icon-danger:not([disabled]):focus-visible {
    box-shadow: 0 10px 20px rgba(184, 64, 64, 0.1);
    transform: translateY(-1px);
}

.pancake-card-action-menu {
    display: flex;
    position: relative;
}

.pancake-card-action-menu-popover {
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    bottom: calc(100% + 8px);
    box-shadow: 0 14px 32px var(--pancake-border-medium);
    box-sizing: border-box;
    display: grid;
    gap: 2px;
    min-width: 190px;
    padding: 6px;
    position: absolute;
    right: 0;
    z-index: 4;
}

.pancake-card-action-menu-popover[hidden] {
    display: none;
}

.pancake-card-actions .pancake-card-action-menu-popover form {
    display: block;
    margin: 0;
}

.pancake-card-action-menu-item {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 8px;
    color: var(--pancake-text);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-weight: 700;
    gap: 10px;
    padding: 10px 11px;
    text-align: left;
    width: 100%;
}

.pancake-card-action-menu-item i {
    color: var(--pancake-muted);
    flex: 0 0 18px;
    text-align: center;
}

.pancake-card-action-menu-item:hover,
.pancake-card-action-menu-item:focus-visible {
    background: var(--pancake-ink-06);
    outline: 0;
}

.pancake-card-action-menu-item.is-danger {
    color: var(--pancake-danger);
}

.pancake-card-action-menu-item.is-danger i {
    color: currentColor;
}

.pancake-card-action-menu-item.is-danger:hover,
.pancake-card-action-menu-item.is-danger:focus-visible {
    background: rgba(184, 64, 64, 0.08);
}

.pancake-card-action-menu-separator {
    border-top: 1px solid var(--pancake-border-soft);
    margin: 4px 5px;
}

.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: var(--pancake-white);
    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: var(--pancake-white);
    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: var(--pancake-accent-border);
    box-shadow: 0 0 0 3px var(--pancake-accent-soft);
}

.pancake-workflow-stepper {
    align-items: stretch;
    border-bottom: 1px solid var(--pancake-border);
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(16px, 4vw, 56px);
    justify-content: center;
    margin-bottom: 0;
    padding: 0;
}

.pancake-workflow-stepper .pancake-step {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--pancake-text-secondary);
    justify-content: center;
    min-height: 44px;
    padding: 10px 8px 7px;
    position: relative;
    text-decoration: none !important;
}

.pancake-workflow-stepper .pancake-step:visited {
    color: var(--pancake-text-secondary);
}

.pancake-workflow-stepper .pancake-step:hover,
.pancake-workflow-stepper .pancake-step:focus-visible {
    background: transparent;
    color: var(--pancake-text);
    text-decoration: none !important;
}

.pancake-workflow-stepper .pancake-step:focus-visible {
    outline: 3px solid var(--pancake-focus);
    outline-offset: -4px;
}

.pancake-workflow-stepper .pancake-step.is-active {
    background: transparent;
    box-shadow: none;
    color: var(--pancake-text);
    font-weight: 500;
}

.pancake-workflow-stepper .pancake-step.is-active:visited {
    color: var(--pancake-text);
}

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

.pancake-workflow-stepper .pancake-step::after {
    background: transparent;
    bottom: -1px;
    content: '';
    height: 2px;
    left: 4px;
    position: absolute;
    right: 4px;
    transition: background-color 160ms ease;
}

.pancake-workflow-stepper .pancake-step:hover::after,
.pancake-workflow-stepper .pancake-step:focus-visible::after {
    background: var(--pancake-muted);
}

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

.pancake-workflow-stepper .pancake-step.is-disabled {
    color: var(--pancake-muted);
    cursor: not-allowed;
    opacity: 0.48;
}

.pancake-workflow-panel {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0 12px 12px;
}

.pancake-has-shell .pancake-workflow-panel {
    box-shadow: none;
}

.pancake-workflow-introduction {
    display: grid;
    gap: 6px;
    margin-bottom: 36px;
}

.pancake-workflow-introduction p {
    color: var(--pancake-text-secondary);
    margin: 0;
}

.pancake-workflow-introduction strong {
    color: var(--pancake-text);
    font-size: 1.08rem;
}

.pancake-workflow-section-heading {
    margin-bottom: 28px;
}

.pancake-workflow-section-heading-secondary {
    margin-top: 48px;
}

.pancake-project-dashboard-intro .pancake-dashboard-intro h1,
.pancake-workflow-panel > h2 {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.15;
    margin: 0 0 10px;
    text-align: center;
}

.pancake-project-dashboard-intro .pancake-dashboard-intro .pancake-muted,
.pancake-workflow-panel > .pancake-muted {
    color: var(--pancake-muted);
    font-size: 1rem;
    font-style: italic;
    line-height: 1.45;
    margin: 0;
    text-align: center;
}

.pancake-workflow-panel > .pancake-muted {
    margin-bottom: 36px;
}

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

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

.pancake-has-shell .pancake-account-page {
    padding-top: 60px;
}

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

.pancake-account-intro h1 {
    font-size: 2em;
    font-weight: 400;
    margin-block: 0.67em;
}

.pancake-account-intro .pancake-muted {
    font-style: italic;
    margin: 0;
}

.pancake-product-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-product-hero h1,
.pancake-product-hero p {
    margin: 0 0 10px;
}

.pancake-product-hero-badge {
    align-items: center;
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: 0 10px 24px var(--pancake-ink-06);
    color: var(--pancake-primary);
    display: inline-flex;
    justify-content: center;
}

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

.pancake-product-hero-badge i,
.pancake-product-hero-badge svg.svg-inline--fa {
    align-items: center;
    color: var(--pancake-accent);
    display: inline-flex;
    font-size: 40px;
    justify-content: center;
    justify-self: center;
    line-height: 1;
    margin: 0 auto;
}

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

.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: var(--pancake-white);
    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-account-profile-form {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.pancake-account-profile-form input[readonly] {
    background: var(--pancake-surface-muted);
    cursor: default;
}

.pancake-account-profile-form > .pancake-button {
    grid-column: 1 / -1;
    justify-self: start;
}

.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: var(--pancake-white);
    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-text);
    display: block;
    font-size: 1rem;
    font-weight: 400;
    position: relative;
}

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

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

.pancake-password-toggle {
    align-items: center;
    background: var(--pancake-surface-subtle);
    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: var(--pancake-white);
    border-color: var(--pancake-accent-border);
    box-shadow: 0 0 0 3px var(--pancake-accent-soft);
    outline: none;
}

.pancake-password-toggle-icon {
    padding: 0;
    text-decoration: none;
    width: 34px;
}

.pancake-password-toggle-icon i {
    font-size: 0.9rem;
}

.pancake-password-toggle:disabled {
    cursor: not-allowed;
    opacity: 0.52;
}

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

.pancake-password-strength {
    background: var(--pancake-border-soft);
    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: var(--pancake-accent);
}

.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: var(--pancake-white);
    border: 1px solid var(--pancake-ink-16);
    border-radius: 999px;
    content: "";
    flex: 0 0 auto;
    height: 9px;
    width: 9px;
}

.pancake-password-criteria li.is-valid {
    color: var(--pancake-success-text);
}

.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: var(--pancake-success-text);
}

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

.pancake-user-platform-toggle {
    align-items: flex-start;
    background: var(--pancake-surface-subtle);
    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;
}

#user-create-modal .pancake-user-create-dialog {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    max-width: 860px;
    overflow: hidden;
    width: min(100%, 860px);
}

.pancake-user-create-modal-form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    margin-top: 0;
    min-height: 0;
    overflow: hidden;
}

.pancake-user-create-modal-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 18px 10px 24px 0;
    scrollbar-gutter: stable;
}

.pancake-user-create-modal-scroll > .pancake-muted {
    margin: 0 0 22px;
}

.pancake-modal-footer-actions.pancake-user-create-modal-footer {
    flex: 0 0 auto;
    margin-right: 0;
    padding-bottom: 0;
    position: static;
}

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

@media (max-width: 520px) {
    #user-create-modal .pancake-user-create-dialog {
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
    }

    .pancake-user-create-modal-scroll {
        padding-right: 4px;
    }
}

.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-security-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pancake-user-activation-control {
    border-top: 1px solid var(--pancake-border);
    display: grid;
    gap: 8px;
    grid-column: 1 / -1;
    padding-top: 20px;
}

.pancake-user-activation-control p {
    color: var(--pancake-muted);
    margin: 0;
}

.pancake-user-activation-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
}

.pancake-user-activation-control .pancake-user-platform-toggle input {
    grid-column: 1;
    grid-row: 1 / 3;
}

.pancake-user-activation-control .pancake-user-platform-toggle span {
    grid-row: 1;
}

.pancake-user-activation-control .pancake-user-platform-toggle small {
    grid-row: 2;
}

.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: var(--pancake-surface-subtle);
    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: var(--pancake-surface-subtle);
    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: var(--pancake-surface-translucent);
    border: 1px solid var(--pancake-border-soft);
    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-text);
    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: var(--pancake-white);
    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: var(--pancake-surface-subtle);
    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: var(--pancake-white);
    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: var(--pancake-white);
    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: var(--pancake-ink-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: 20px 0;
}

.pancake-empty-state {
    background: var(--pancake-white);
    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-text);
}

.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: var(--pancake-white);
    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: var(--pancake-success-background);
    border-color: var(--pancake-success-soft);
    color: var(--pancake-success-text);
}

.pancake-import-report-table .pancake-import-status-pill.is-warning {
    background: #fff4e4;
    border-color: rgba(155, 112, 68, 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: var(--pancake-surface-muted);
    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-notification-template-types {
    justify-content: center;
    margin: 0;
}

.pancake-notifications-page .pancake-notifications-intro h1 {
    margin: 0;
}

.pancake-notifications-template-area {
    display: grid;
    gap: 32px;
}

.pancake-notifications-page .pancake-notifications-editor-heading {
    display: block;
    margin-bottom: 20px;
    text-align: center;
    width: 100%;
}

.pancake-notifications-editor-heading h2 {
    font-size: 1.3rem;
    margin: 0;
}

.pancake-notifications-editor-heading p {
    color: var(--pancake-text-secondary);
    margin: 8px 0 0;
}

.pancake-notifications-editor-actions,
.pancake-notifications-history-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.pancake-notifications-test-section,
.pancake-notifications-history-section {
    text-align: center;
}

.pancake-notifications-test-section h2,
.pancake-notifications-history-section h2 {
    font-size: 1.3rem;
    margin: 0;
}

.pancake-notifications-test-section > p {
    color: var(--pancake-accent);
    margin: 12px auto 0;
    max-width: 800px;
}

.pancake-notifications-test-action {
    display: flex;
    justify-content: center;
    margin-top: 22px;
}

.pancake-notifications-history-actions {
    margin: 22px 0 0;
}

.pancake-notifications-history-section .pancake-user-table,
.pancake-notifications-history-section .pancake-empty-state {
    margin-top: 24px;
    text-align: left;
}

.pancake-notifications-history-section .pancake-user-table-head,
.pancake-notifications-history-section .pancake-user-list-row {
    grid-template-columns: minmax(110px, 0.8fr) minmax(130px, 1fr) minmax(150px, 1.2fr) minmax(200px, 1.4fr);
}

.pancake-notification-template-form {
    gap: 30px;
}

.pancake-information-page .pancake-notification-template-form > label {
    display: grid;
    gap: 10px;
}

.pancake-information-page .pancake-notification-template-form > label > span {
    color: var(--pancake-text);
    display: block;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.25;
}

.pancake-notification-template-form .tox-tinymce {
    min-height: 240px;
}

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

.pancake-connect-report-page .pancake-connect-report-table {
    margin-top: 0;
}

.pancake-connect-report-section-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 22px;
}

.pancake-connect-report-section-heading h2 {
    margin: 0;
}

.pancake-connect-session-report-page .pancake-connect-report-section-heading {
    justify-content: center;
    margin-top: 25px;
}

.pancake-connect-session-report-page .pancake-connect-report-section-heading h2 {
    text-align: center;
}

.pancake-connect-session-report-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 14px;
}

.pancake-connect-report-actions {
    margin-bottom: 32px;
}

.pancake-connect-report-page .pancake-connect-report-table .pancake-user-list-row > span:not(.pancake-status-pill),
.pancake-connect-report-page .pancake-connect-report-table .pancake-user-list-row strong,
.pancake-connect-report-page .pancake-connect-report-table .pancake-user-list-row small {
    color: var(--pancake-text);
}

.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-session-report-page .pancake-connect-report-learners-table .pancake-user-table-head > span:not(:first-child),
.pancake-connect-session-report-page .pancake-connect-report-learners-table .pancake-user-list-row > span:not(:first-child),
.pancake-connect-session-report-page .pancake-connect-report-modules-table .pancake-user-table-head > span:not(:first-child),
.pancake-connect-session-report-page .pancake-connect-report-modules-table .pancake-user-list-row > span:not(:first-child),
.pancake-connect-session-report-page .pancake-connect-report-detail-table .pancake-user-table-head > span:nth-child(n + 3),
.pancake-connect-session-report-page .pancake-connect-report-detail-table .pancake-user-list-row > span:nth-child(n + 3) {
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.pancake-connect-session-report-page .pancake-connect-report-detail-table .pancake-user-list-row > .pancake-status-pill {
    justify-self: center;
}

.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: var(--pancake-success-background);
    border-color: var(--pancake-success-soft);
    color: var(--pancake-success-text);
}

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

.pancake-connect-tracking-table .pancake-tracking-status-pill.is-not-started {
    background: var(--pancake-surface-muted);
    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: var(--pancake-surface-subtle);
    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-page .pancake-access-profile-intro h1 {
    margin: 0;
}

.pancake-access-profile-page .pancake-access-profile-intro p {
    color: var(--pancake-accent);
    margin: 12px auto 0;
    max-width: 800px;
}

.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-has-shell .pancake-access-profile-list-panel,
.pancake-has-shell .pancake-access-profile-audit-panel {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.pancake-access-profile-page .pancake-access-profile-section-heading {
    display: block;
    margin: 0 0 28px;
    text-align: center;
    width: 100%;
}

.pancake-access-profile-page .pancake-access-profile-section-heading h2 {
    font-size: 1.3rem;
    margin: 0;
}

.pancake-access-profile-page .pancake-access-profile-section-heading p {
    color: var(--pancake-text-secondary);
    margin: 8px 0 0;
}

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

.pancake-access-profile-card {
    background: var(--pancake-white);
    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-text-secondary);
    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: var(--pancake-success-text);
    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: var(--pancake-surface-soft);
    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-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 18px;
}

.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: var(--pancake-surface-soft);
    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: var(--pancake-surface-subtle);
    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-capability-group .pancake-capability-field small {
    color: var(--pancake-text-secondary);
}

.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;
    max-width: none;
}

.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: var(--pancake-white);
    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: var(--pancake-surface-soft);
    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: var(--pancake-white);
    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-text-secondary);
    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: var(--pancake-success-background);
    border: 1px solid var(--pancake-success-soft);
    border-radius: 999px;
    color: var(--pancake-success-text);
    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: var(--pancake-success-background);
    border-color: rgba(80, 135, 82, 0.24);
    color: var(--pancake-success-text);
}

.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 var(--pancake-white-overlay-subtle);
    border-radius: 14px;
    box-shadow: 0 18px 36px rgba(31, 28, 24, 0.18);
    color: var(--pancake-surface-muted);
    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 var(--pancake-white-overlay-subtle);
    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: var(--pancake-white-overlay-subtle);
    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: 0;
}

.pancake-dashboard-page .pancake-connect-view-nav {
    justify-content: center;
    margin: 25px 0 50px;
}

.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(240px, 1fr));
}

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

.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 var(--pancake-border-soft);
    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-card-tagline {
    justify-content: space-between;
}

.pancake-connect-session-tile .pancake-session-code-pill {
    margin-left: auto;
}

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

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

.pancake-connect-session-card {
    background: var(--pancake-white);
    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-success-text);
}

.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-has-shell .pancake-connect-session-page {
    gap: 32px;
    padding-top: 60px;
}

.pancake-connect-session-page .pancake-connect-session-intro h1 {
    margin: 0;
}

.pancake-connect-session-description {
    color: var(--pancake-accent);
    margin: 12px 0 0;
}

.pancake-connect-session-intro .pancake-session-code-badge {
    margin: 18px auto 0;
}

.pancake-session-code-badge {
    align-items: center;
    background: #ede8df;
    border: 1px solid var(--pancake-border-soft);
    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: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.pancake-connect-session-toolbar,
.pancake-connect-session-section-toolbar {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.pancake-connect-session-section-toolbar.is-end {
    justify-content: flex-end;
}

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

.pancake-connect-session-page .pancake-connect-session-panel > .pancake-section-heading {
    justify-content: center;
    margin: 0 0 28px;
    text-align: center;
}

.pancake-connect-session-summary-section {
    margin-top: 25px;
    min-width: 0;
}

.pancake-connect-session-summary-heading {
    text-align: center;
}

.pancake-connect-session-summary-heading h2 {
    margin: 0;
}

.pancake-connect-session-summary-heading p {
    color: var(--pancake-text-secondary);
    line-height: 1.5;
    margin: 10px auto 0;
    max-width: 680px;
}

.pancake-connect-session-section-toolbar {
    margin: 24px 0;
}

.pancake-connect-session-summary-section > .pancake-dashboard-stats {
    margin-top: 24px;
}

@media (max-width: 720px) {
    .pancake-connect-session-toolbar,
    .pancake-connect-session-section-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .pancake-connect-session-toolbar > .pancake-status-pill,
    .pancake-connect-session-section-toolbar > .pancake-status-pill {
        align-self: flex-start;
    }

    .pancake-connect-session-actions,
    .pancake-connect-session-section-toolbar.is-end {
        justify-content: flex-start;
    }
}

.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 var(--pancake-border-soft);
    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: var(--pancake-white);
    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: var(--pancake-surface-soft);
    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: var(--pancake-white);
    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: var(--pancake-white);
}

.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-notification-dialog {
    display: flex;
    flex-direction: column;
    max-height: min(760px, calc(100vh - 64px));
    max-width: 720px;
    overflow: hidden;
    width: min(720px, 100%);
}

.pancake-connect-notification-form {
    display: grid;
    gap: 18px;
    margin-top: 20px;
    min-height: 0;
    overflow: auto;
    padding: 0 2px 4px;
}

.pancake-connect-notification-section {
    margin: 0;
}

.pancake-connect-notification-scope {
    border: 0;
    min-inline-size: 0;
    padding: 0;
}

.pancake-connect-notification-scope legend {
    color: var(--pancake-text);
    font-size: 0.88rem;
    font-weight: 700;
    margin-bottom: 8px;
    padding: 0;
}

.pancake-connect-notification-scope-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pancake-connect-page .pancake-connect-notification-scope-grid label {
    align-items: flex-start;
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 9px;
    min-height: 88px;
    padding: 12px;
}

.pancake-connect-notification-scope-grid label:has(input:checked) {
    background: var(--pancake-surface-highlight);
    border-color: var(--pancake-primary);
    box-shadow: inset 0 0 0 1px var(--pancake-primary);
}

.pancake-connect-notification-scope-grid input {
    flex: 0 0 auto;
    margin: 3px 0 0;
    width: auto;
}

.pancake-connect-page .pancake-connect-notification-scope-grid label > span {
    display: grid;
    gap: 4px;
}

.pancake-connect-notification-scope-grid strong {
    color: var(--pancake-text);
    font-size: 0.88rem;
}

.pancake-connect-notification-scope-grid small {
    color: var(--pancake-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.pancake-connect-notification-preview {
    background: #f2f7f1;
    border: 1px solid #b7cbb7;
    border-left: 4px solid #5b8a62;
    border-radius: 8px;
    margin: 0;
    padding: 16px;
}

.pancake-connect-notification-preview > strong {
    color: #34583a;
    display: block;
    margin-bottom: 8px;
}

.pancake-connect-notification-preview p {
    margin-top: 0;
}

.pancake-connect-notification-actions {
    background: var(--pancake-panel);
    bottom: 0;
    grid-template-columns: 1fr;
    justify-items: end;
    margin: 0 -2px -4px;
    position: sticky;
}

@media (max-width: 680px) {
    .pancake-connect-notification-scope-grid {
        grid-template-columns: 1fr;
    }

    .pancake-connect-notification-actions {
        justify-items: stretch;
    }

    .pancake-connect-notification-actions .pancake-button {
        width: 100%;
    }
}

.pancake-connect-item {
    align-items: center;
    background: var(--pancake-white);
    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-welcome {
    padding: 30px 0 12px;
    text-align: center;
}

.pancake-learner-welcome h1 {
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    margin: 0;
}

.pancake-learner-session-grid {
    margin-top: 24px;
}

.pancake-learner-session-tile .pancake-card-tagline {
    align-items: center;
}

.pancake-learner-module-card {
    background: var(--pancake-panel);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: var(--pancake-shadow-soft);
    display: flex;
    flex-direction: column;
    min-height: 360px;
    overflow: hidden;
    padding: 0;
}

.pancake-learner-module-card.is-archived {
    filter: grayscale(0.75);
    opacity: 0.7;
}

.pancake-learner-module-card h2 {
    font-size: 1.3rem;
    line-height: 1.15;
    margin-top: 8px;
}

.pancake-learner-module-card p {
    margin: 8px 0 0;
}

.pancake-learner-module-cover {
    aspect-ratio: 16 / 9;
    background: var(--pancake-border-soft);
    overflow: hidden;
    width: 100%;
}

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

.pancake-learner-module-body {
    display: grid;
    gap: 8px;
    padding: 18px 18px 76px;
}

.pancake-learner-module-card .pancake-project-footer {
    margin-top: auto;
}

.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: var(--pancake-border-soft);
    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-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: 12px;
    grid-template-columns: 1fr;
}

.pancake-client-list-panel {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.pancake-client-card {
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: var(--pancake-shadow-soft);
    box-sizing: border-box;
    align-items: center;
    display: grid;
    gap: 20px;
    grid-template-columns: 220px minmax(300px, 1fr) 245px;
    padding: 16px 18px;
    width: 100%;
}

.pancake-client-card.is-active {
    border-color: var(--pancake-success-border);
    box-shadow: 0 18px 36px rgba(80, 135, 82, 0.12);
}

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

.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: var(--pancake-surface-subtle);
    border: 1px solid var(--pancake-ink-06);
    border-radius: 12px;
    display: grid;
    gap: 5px;
    padding: 10px 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-client-card-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.pancake-client-card-actions form {
    margin: 0;
}

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

.pancake-client-admin-grid > div {
    display: grid;
    gap: 7px;
}

.pancake-client-admin-grid > .pancake-password-policy {
    margin: 0;
}

.pancake-user-membership-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    margin-top: 18px;
}

.pancake-user-membership-card {
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: var(--pancake-radius);
    display: grid;
    gap: 14px;
    padding: 18px;
}

.pancake-user-membership-card.is-attached {
    border-color: rgba(80, 135, 82, 0.3);
}

.pancake-user-membership-form {
    display: grid;
    gap: 10px;
}

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

@media (max-width: 700px) {
    .pancake-client-admin-grid {
        grid-template-columns: 1fr;
    }
}

.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-toppings-page {
    display: grid;
    gap: 20px;
}

.pancake-toppings-catalogue {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.pancake-toppings-test-label,
.pancake-topping-status {
    align-items: center;
    background: var(--pancake-surface-warm);
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    color: var(--pancake-muted);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 800;
    gap: 6px;
    padding: 7px 10px;
    white-space: nowrap;
}

.pancake-toppings-catalogue > .pancake-toppings-test-label {
    justify-self: end;
}

.pancake-toppings-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.pancake-topping-card {
    min-height: 300px;
}

.pancake-topping-card.is-purchased {
    border-color: color-mix(in srgb, var(--pancake-accent) 40%, var(--pancake-border));
}

.pancake-topping-card-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.pancake-topping-icon {
    align-items: center;
    background: var(--pancake-surface-warm);
    border-radius: 14px;
    color: var(--pancake-accent);
    display: inline-flex;
    font-size: 1.35rem;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.pancake-topping-status.is-purchased {
    background: color-mix(in srgb, var(--pancake-accent) 10%, white);
    border-color: color-mix(in srgb, var(--pancake-accent) 35%, var(--pancake-border));
    color: var(--pancake-accent);
}

.pancake-topping-price {
    color: var(--pancake-text);
    font-size: 1.15rem;
    margin-top: 8px;
}

.pancake-topping-order-body {
    display: grid;
    gap: 14px;
    padding: 20px 0;
}

.pancake-topping-order-body p {
    margin: 0;
}

.pancake-topping-order-body .pancake-topping-price {
    font-size: 1.45rem;
    margin: 0;
}

.pancake-topping-footer {
    align-items: center;
}

.pancake-topping-footer > .pancake-button,
.pancake-topping-included {
    flex: 1 1 auto;
}

.pancake-topping-included {
    color: var(--pancake-accent);
    font-size: 0.86rem;
    font-weight: 800;
}

.pancake-topping-toggle {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--pancake-muted);
    cursor: pointer;
    display: inline-flex;
    gap: 8px;
    padding: 4px 0;
}

.pancake-topping-toggle > span {
    background: #c9c1b8;
    border-radius: 999px;
    display: inline-flex;
    height: 24px;
    padding: 3px;
    transition: background-color 160ms ease;
    width: 42px;
}

.pancake-topping-toggle > span::after {
    background: white;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgb(0 0 0 / 20%);
    content: '';
    height: 18px;
    transition: transform 160ms ease;
    width: 18px;
}

.pancake-topping-toggle.is-active > span {
    background: var(--pancake-accent);
}

.pancake-topping-toggle.is-active > span::after {
    transform: translateX(18px);
}

.pancake-topping-toggle em {
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 800;
}

.pancake-topping-toggle:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--pancake-accent) 35%, transparent);
    outline-offset: 4px;
}

.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: var(--pancake-surface-subtle);
    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: var(--pancake-white);
    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: var(--pancake-white);
    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: var(--pancake-surface-warm);
    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-module-share {
    background: var(--pancake-surface-warm);
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    margin-top: 12px;
    padding: 14px;
}

.pancake-module-share-heading {
    display: grid;
    gap: 3px;
}

.pancake-module-share-heading span,
.pancake-module-share small,
.pancake-module-share-status {
    color: var(--pancake-muted);
    font-size: 0.85rem;
}

.pancake-module-share-create,
.pancake-module-share-url-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-module-share-active {
    display: grid;
    gap: 6px;
}

.pancake-module-share-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
}

.pancake-module-share .pancake-module-share-copy-status {
    color: var(--pancake-success, #508752);
}

.pancake-module-share-copy-status:empty,
.pancake-module-share-status:empty {
    display: none;
}

.pancake-module-share-input-wrap {
    flex: 1 1 320px;
    min-width: 0;
    position: relative;
}

.pancake-module-share-url-row input[data-pancake-module-share-url] {
    appearance: none;
    background: var(--pancake-surface-warm);
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    box-sizing: border-box;
    color: var(--pancake-text);
    cursor: pointer;
    display: block;
    font-size: 0.86rem;
    min-height: 38px;
    padding: 9px 38px 9px 12px;
    text-overflow: ellipsis;
    width: 100%;
}

.pancake-module-share-url-row input[data-pancake-module-share-url]:hover,
.pancake-module-share-url-row input[data-pancake-module-share-url]:focus-visible {
    border-color: var(--pancake-accent-border);
}

.pancake-module-share-url-row input[data-pancake-module-share-url]:focus-visible {
    outline: 2px solid var(--pancake-accent-ring);
    outline-offset: 2px;
}

.pancake-module-share-input-check {
    color: var(--pancake-success, #508752);
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 150ms ease;
}

.pancake-module-share.is-copied .pancake-module-share-input-check {
    opacity: 1;
}

.pancake-module-share-icon-button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    min-width: 38px;
    padding: 0;
}

.pancake-module-share [hidden] {
    display: none !important;
}

.pancake-scorm-latest-info {
    display: grid;
    gap: 2px;
}

.pancake-scorm-latest-download strong {
    color: var(--pancake-text);
    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-scorm-version {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    color: var(--pancake-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.pancake-scorm-version select {
    appearance: none;
    min-height: 44px;
    min-width: 0;
    max-width: 100%;
    padding: 10px 38px 10px 14px;
    border: 1px solid var(--pancake-border);
    border-radius: 10px;
    background-color: var(--pancake-white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a6a43' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    color: var(--pancake-text);
    font: inherit;
    cursor: pointer;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.pancake-scorm-version select:hover {
    border-color: var(--pancake-primary);
}

.pancake-scorm-version select:focus-visible {
    outline: 2px solid var(--pancake-primary);
    outline-offset: 3px;
}

.pancake-scorm-version select:disabled {
    cursor: wait;
    opacity: 0.6;
}

.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: var(--pancake-surface-warm);
    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;
    box-sizing: border-box;
    display: flex;
    inset: 0;
    justify-content: center;
    overflow: hidden;
    padding: 24px;
    position: fixed;
    z-index: 1000;
}

.pancake-modal-backdrop {
    background: var(--pancake-overlay);
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity 180ms ease;
}

.pancake-confirm-dialog {
    background: var(--pancake-background-modal);
    color: var(--pancake-text);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: var(--pancake-modal-shadow);
    width: min(520px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 28px;
    box-sizing: border-box;
    overflow: auto;
}
.pancake-confirm-dialog::backdrop { background: var(--pancake-overlay); }
.pancake-confirm-dialog p { margin: 20px 0 24px; line-height: 1.6; }
.pancake-confirm-actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.pancake-confirm-actions .pancake-button { min-height: 44px; }
@media (max-width: 480px) {
    .pancake-confirm-dialog { padding: 20px; }
    .pancake-confirm-actions .pancake-button { flex: 1 1 100%; }
}

.pancake-modal-dialog {
    background: var(--pancake-background-modal);
    border: 1px solid var(--pancake-border);
    border-radius: 18px;
    box-shadow: var(--pancake-modal-shadow);
    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-missing-content-dialog {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 48px);
    max-width: 560px;
    overflow: hidden;
}

.pancake-missing-content-intro {
    color: var(--pancake-text-secondary);
    flex: 0 0 auto;
    margin: 12px 0 16px;
}

.pancake-missing-content-list {
    align-content: start;
    display: grid;
    flex: 1 1 auto;
    gap: 10px;
    list-style: none;
    min-height: 0;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 2px 5px 3px 2px;
}

.pancake-missing-content-list button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    color: var(--pancake-text);
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 32px minmax(0, 1fr) 16px;
    min-height: 68px;
    padding: 12px 14px;
    text-align: left;
    width: 100%;
}

.pancake-missing-content-list button:hover,
.pancake-missing-content-list button:focus-visible {
    border-color: var(--pancake-danger);
}

.pancake-missing-content-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.pancake-missing-content-sequence {
    color: var(--pancake-text-secondary);
    font-size: 0.8rem;
}

.pancake-missing-content-state {
    color: var(--pancake-danger);
    font-size: 0.8rem;
}

.pancake-missing-content-type-icon {
    align-self: center;
}

.pancake-missing-content-arrow {
    align-self: center;
    color: var(--pancake-danger);
    justify-self: center;
}

@media (max-width: 520px) {
    .pancake-missing-content-dialog {
        max-height: calc(100dvh - 32px);
        padding: 20px;
    }

    .pancake-missing-content-list button {
        gap: 10px;
        padding: 10px;
    }
}

.pancake-activity-edit-card.is-missing-target,
.pancake-validation-quiz-card.is-missing-target {
    box-shadow: 0 0 0 3px rgba(184, 64, 64, 0.3);
}

.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-modal-editor-form {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding-bottom: 0;
}

.pancake-modal-editor-scroll {
    display: grid;
    flex: 1 1 auto;
    gap: 18px;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 18px 28px 0;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
}

.pancake-activity-content-editor-form .pancake-field[data-pancake-editor-field="require_perfect_score"] {
    margin-bottom: 12px;
}

.pancake-activity-content-editor-form .pancake-field[data-pancake-editor-field="require_perfect_score"]:has(+ [data-pancake-editor-field="correction_attempt_limit"]:not([hidden])) {
    margin-bottom: 0;
}

.pancake-activity-content-editor-form .pancake-field[data-pancake-editor-field="correction_attempt_limit"]:not([hidden]) {
    margin-top: -10px;
    margin-bottom: 18px;
}

.pancake-modal-editor-scroll::-webkit-scrollbar {
    width: 10px;
}

.pancake-modal-editor-scroll::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--pancake-muted) 46%, transparent);
    border: 3px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}

.pancake-modal-footer-actions.pancake-modal-footer-static {
    flex: 0 0 auto;
    margin-right: 0;
    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-project-editor-scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0 18px 18px 0;
    scrollbar-gutter: stable;
}

.pancake-project-editor-scroll > .pancake-project-editor-form {
    flex: none;
    min-height: auto;
    overflow: visible;
    padding: 0;
    scrollbar-gutter: auto;
}

.pancake-customization-modal-content,
.pancake-customization-modal-content > [data-pancake-export-panel-fragment] {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
}

.pancake-customization-modal-content {
    overflow: hidden;
}

.pancake-customization-branding-section {
    padding-top: 4px;
}

.pancake-modal-footer-actions.pancake-customization-modal-footer {
    flex: 0 0 auto;
    margin-right: 0;
    position: static;
}

.pancake-project-export-accordion {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--pancake-border);
    border-radius: 0;
    margin: 24px 0 0;
    padding-top: 16px;
}

.pancake-project-export-accordion > summary {
    align-items: center;
    background: var(--pancake-surface-soft);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    font-weight: 800;
    gap: 12px;
    justify-content: space-between;
    list-style: none;
    padding: 14px 16px;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.pancake-project-export-accordion > summary:hover,
.pancake-project-export-accordion > summary:focus-visible {
    background: var(--pancake-surface);
    border-color: rgba(155, 112, 68, 0.34);
    box-shadow: 0 0 0 3px var(--pancake-accent-soft);
    outline: 0;
}

.pancake-project-export-accordion[open] > summary {
    background: var(--pancake-secondary);
    border-bottom-color: transparent;
    border-radius: 12px 12px 0 0;
}

.pancake-project-export-accordion > summary::-webkit-details-marker {
    display: none;
}

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

.pancake-project-export-accordion-title i {
    color: var(--pancake-primary);
}

.pancake-project-export-accordion-toggle {
    align-items: center;
    background: var(--pancake-surface);
    border: 1px solid var(--pancake-border);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.pancake-project-export-accordion-toggle .fa-minus,
.pancake-project-export-accordion[open] .pancake-project-export-accordion-toggle .fa-plus {
    display: none;
}

.pancake-project-export-accordion[open] .pancake-project-export-accordion-toggle .fa-minus {
    display: inline-block;
}

.pancake-project-export-accordion-content {
    background: var(--pancake-surface-soft);
    border: 1px solid var(--pancake-border);
    border-radius: 0 0 12px 12px;
    margin-top: -1px;
    padding: 18px;
}

.pancake-project-export-accordion-content > .pancake-form {
    margin-top: 0;
}

.pancake-project-export-accordion-content .pancake-project-branding {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.pancake-project-export-save {
    justify-content: flex-end;
}

.pancake-modal-footer-actions.pancake-project-editor-footer {
    flex: 0 0 auto;
    margin-right: 0;
}

.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-add-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="objective-add-modal"] .pancake-form,
.pancake-modal[id^="objective-edit-modal-"] .pancake-form,
.pancake-modal[id="sequence-add-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 .pancake-form.pancake-modal-editor-form {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    padding: 0;
    scrollbar-gutter: auto;
}

/* Keep the editor scroller flexible and the action bar outside it. */
.pancake-modal .pancake-form.pancake-activity-content-editor-form.pancake-modal-editor-form {
    flex: 1 1 0;
    min-height: 0;
    width: 100%;
}

.pancake-modal .pancake-form.pancake-activity-content-editor-form.pancake-modal-editor-form > .pancake-modal-editor-scroll {
    min-height: 0;
}

.pancake-modal[id="objective-add-modal"] .pancake-project-form,
.pancake-modal[id^="objective-edit-modal-"] .pancake-project-form,
.pancake-modal[id="sequence-add-modal"] .pancake-project-form,
.pancake-modal[id^="sequence-edit-modal-"] .pancake-project-form,
.pancake-modal[id^="activity-add-modal-"] .pancake-project-form,
.pancake-modal[id^="activity-edit-modal-"] .pancake-project-form,
.pancake-modal[id="validation-quiz-add-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-add-modal"] .pancake-project-form > *,
.pancake-modal[id^="sequence-edit-modal-"] .pancake-project-form > *,
.pancake-modal[id^="activity-add-modal-"] .pancake-project-form > *,
.pancake-modal[id^="activity-edit-modal-"] .pancake-project-form > *,
.pancake-modal[id="validation-quiz-add-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^="activity-add-modal-"] .pancake-form,
.pancake-modal[id="validation-quiz-add-modal"] .pancake-form {
    align-content: start;
    grid-auto-rows: max-content;
}

.pancake-modal[id="sequence-add-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 {
    padding: 0 8px 28px;
}

.pancake-modal[id="sequence-add-modal"] .pancake-form > .pancake-button,
.pancake-modal[id^="sequence-edit-modal-"] .pancake-form > .pancake-button,
.pancake-modal[id^="activity-add-modal-"] .pancake-form > .pancake-button,
.pancake-modal[id^="activity-edit-modal-"] .pancake-form > .pancake-button,
.pancake-modal[id="validation-quiz-add-modal"] .pancake-form > .pancake-button,
.pancake-modal[id="plan-summary-modal"] .pancake-form > .pancake-button {
    position: static;
}

.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-static-preview-status {
    align-items: center;
    color: var(--pancake-text-secondary);
    display: flex;
    gap: 8px;
    justify-content: center;
    margin: 0;
    min-height: 120px;
    text-align: center;
}

.pancake-static-preview-status.is-loading {
    color: var(--pancake-accent);
    font-weight: 700;
}

.pancake-static-preview-status.is-error {
    flex-direction: column;
}

.pancake-static-preview-status.is-error p {
    color: var(--pancake-danger-text);
    margin: 0;
}

.pancake-render-h5p-card {
    gap: 10px;
}

.pancake-render-h5p-frame {
    background: var(--pancake-white);
    border: 1px solid var(--pancake-border);
    border-radius: 8px;
    height: var(--pancake-h5p-height, 560px);
    min-height: 180px;
    overflow: hidden;
    transition: height 0.18s ease;
}

.pancake-render-h5p-frame iframe {
    background: var(--pancake-white);
    border: 0;
    display: block;
    height: 100%;
    min-height: 180px;
    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: var(--pancake-surface-soft);
    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: var(--pancake-white-overlay);
    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-ai-monitoring-page,
.pancake-information-page {
    display: grid;
    gap: 20px;
}

.pancake-ai-monitoring-page .pancake-topbar,
.pancake-ai-monitoring-page .pancake-panel,
.pancake-information-page .pancake-topbar,
.pancake-information-page .pancake-panel {
    margin: 0;
}

.pancake-recipe-ai-consumption {
    display: grid;
    gap: 1rem;
    margin: 1rem 0 1.25rem;
    padding: 1.1rem;
    border: 1px solid var(--pancake-border);
    border-radius: var(--pancake-radius);
    background: var(--pancake-surface);
}

.pancake-generation-diagnostics {
    margin: 18px 0;
}

.pancake-recipe-ai-consumption-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.pancake-recipe-ai-consumption-header h4 {
    margin: .2rem 0 0;
    font-size: 1.05rem;
}

.pancake-recipe-ai-total {
    min-width: 13rem;
    padding: .75rem 1rem;
    border-radius: var(--pancake-radius);
    background: var(--pancake-primary);
    color: var(--pancake-primary-contrast);
    text-align: right;
}

.pancake-recipe-ai-total > span {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    opacity: .82;
}

.pancake-recipe-ai-total > strong {
    display: block;
    margin-top: .15rem;
    font-size: 1.35rem;
    line-height: 1.15;
}

.pancake-recipe-ai-total small {
    font-size: .72em;
}

.pancake-recipe-ai-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin: 0;
}

.pancake-recipe-ai-metrics > div {
    padding: .7rem .8rem;
    border: 1px solid var(--pancake-border);
    border-radius: var(--pancake-radius);
    background: var(--pancake-surface-subtle);
}

.pancake-recipe-ai-metrics > div.is-warning {
    border-color: var(--pancake-accent);
}

.pancake-recipe-ai-metrics dt {
    color: var(--pancake-text-secondary);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pancake-recipe-ai-metrics dd {
    margin: .18rem 0 0;
    font-size: 1.15rem;
    font-weight: 800;
}

.pancake-recipe-ai-token-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    padding: .75rem .85rem;
    border-radius: var(--pancake-radius);
    background: var(--pancake-surface-muted);
}

.pancake-recipe-ai-token-summary > strong {
    margin-right: auto;
}

.pancake-recipe-ai-tasks > strong {
    display: block;
    margin-bottom: .55rem;
}

.pancake-recipe-ai-task-categories {
    display: grid;
    gap: .8rem;
}

.pancake-recipe-ai-task-category {
    border: 1px solid var(--pancake-border);
    border-radius: var(--pancake-radius);
    overflow: hidden;
}

.pancake-recipe-ai-task-category > header {
    align-items: center;
    background: var(--pancake-surface-muted);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .7rem .8rem;
}

.pancake-recipe-ai-task-category > header > span {
    align-items: center;
    display: inline-flex;
    gap: .45rem;
}

.pancake-recipe-ai-task-category > header > span:last-child {
    color: var(--pancake-text-secondary);
    font-size: .78rem;
    text-align: right;
}

.pancake-recipe-ai-task-category > header i {
    color: var(--pancake-accent);
}

.pancake-recipe-ai-task-category ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pancake-recipe-ai-task-category li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(8rem, auto);
    align-items: center;
    gap: .75rem;
    padding: .55rem .8rem;
    border-top: 1px solid var(--pancake-border);
}

.pancake-recipe-ai-task-category li:first-child {
    border-top: 0;
}

.pancake-recipe-ai-task-category li > span:first-child {
    font-weight: 700;
}

.pancake-recipe-ai-task-category li small {
    display: block;
    color: var(--pancake-text-secondary);
    font-weight: 500;
}

.pancake-recipe-ai-task-category li > strong {
    text-align: right;
}

.pancake-recipe-ai-last-call {
    margin: 0;
    color: var(--pancake-text-secondary);
    font-size: .78rem;
}

@media (max-width: 760px) {
    .pancake-recipe-ai-consumption-header {
        align-items: stretch;
        flex-direction: column;
    }

    .pancake-recipe-ai-total {
        min-width: 0;
        text-align: left;
    }

    .pancake-recipe-ai-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pancake-recipe-ai-task-category > header {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }

    .pancake-recipe-ai-task-category > header > span:last-child {
        text-align: left;
    }

    .pancake-recipe-ai-task-category li {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .pancake-recipe-ai-task-category li > span:nth-child(2) {
        display: none;
    }
}

.pancake-diagnostic-overview {
    display: grid;
    gap: 22px;
}

.pancake-diagnostic-hero {
    align-items: center;
    background: var(--pancake-surface-subtle);
    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: var(--pancake-success-border);
}

.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: var(--pancake-success-text);
}

.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-text);
    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: var(--pancake-success-text);
}

.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: var(--pancake-success-text);
    display: flex;
    font-weight: 800;
    gap: 10px;
    padding: 16px;
}

.pancake-incident-card {
    align-items: start;
    background: var(--pancake-surface-subtle);
    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: var(--pancake-warm-overlay);
    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: var(--pancake-surface-warning);
    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: var(--pancake-surface-subtle);
    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: var(--pancake-info);
}

.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: var(--pancake-surface-subtle);
    border: 1px solid var(--pancake-border);
    border-left: 4px solid #485b8d;
    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-h5p-library-filters {
    background: var(--pancake-warm-overlay);
    border: 1px solid var(--pancake-border);
    border-radius: 14px;
    margin-bottom: 18px;
    padding: 16px;
}

.pancake-h5p-library-filters .pancake-form-grid {
    grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(145px, 0.6fr));
}

.pancake-h5p-library-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.pancake-h5p-library-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.pancake-h5p-library-row {
    background: var(--pancake-surface-subtle);
    border: 1px solid var(--pancake-border);
    border-left: 4px solid rgba(120, 101, 82, 0.26);
    border-radius: 12px;
    display: grid;
    gap: 10px;
    padding: 15px 16px;
}

.pancake-h5p-library-row:has(.is-runnable) {
    border-left-color: var(--pancake-info);
}

.pancake-h5p-library-row.is-obsolete {
    border-left-color: #b47b24;
}

.pancake-h5p-library-row.has-error {
    border-left-color: var(--pancake-danger);
}

.pancake-h5p-library-heading {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.pancake-h5p-library-identity {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.pancake-h5p-library-identity strong {
    font-size: 0.98rem;
    overflow-wrap: anywhere;
}

.pancake-h5p-library-identity small {
    color: var(--pancake-muted);
    font-size: 0.84rem;
    font-weight: 650;
}

.pancake-h5p-library-badges,
.pancake-h5p-library-details {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.pancake-h5p-library-badges {
    flex: 0 0 auto;
    justify-content: flex-end;
}

.pancake-h5p-library-badge {
    background: rgba(47, 42, 37, 0.08);
    border-radius: 999px;
    color: var(--pancake-text);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.035em;
    padding: 5px 8px;
    text-transform: uppercase;
}

.pancake-h5p-library-badge.is-runnable {
    background: rgba(45, 111, 94, 0.13);
    color: var(--pancake-info);
}

.pancake-h5p-library-badge.is-editor {
    background: rgba(72, 91, 141, 0.13);
    color: #485b8d;
}

.pancake-h5p-library-badge.is-obsolete {
    background: rgba(180, 123, 36, 0.15);
    color: #8b5c16;
}

.pancake-h5p-library-details {
    margin: 0;
}

.pancake-h5p-library-details span {
    align-items: center;
    background: rgba(120, 101, 82, 0.07);
    border-radius: 7px;
    color: var(--pancake-muted);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 700;
    gap: 5px;
    padding: 5px 7px;
}

.pancake-h5p-library-details i {
    color: rgba(120, 101, 82, 0.72);
}

.pancake-h5p-library-notices {
    display: grid;
    gap: 7px;
    margin: 0;
}

.pancake-h5p-library-notices p {
    align-items: flex-start;
    background: rgba(180, 123, 36, 0.1);
    border-radius: 8px;
    color: #75501a;
    display: flex;
    font-size: 0.8rem;
    gap: 7px;
    margin: 0;
    overflow-wrap: anywhere;
    padding: 8px 10px;
}

.pancake-h5p-library-notices p.is-error {
    background: rgba(171, 54, 54, 0.09);
    color: var(--pancake-danger);
}

.pancake-h5p-library-notices strong {
    flex: 0 0 auto;
}

.pancake-h5p-hub-filters .pancake-form-grid {
    grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(160px, 0.7fr));
}

.pancake-h5p-hub-row.is-current {
    border-left-color: var(--pancake-info);
}

.pancake-h5p-hub-row.is-update_available {
    border-left-color: #b47b24;
}

.pancake-h5p-hub-row.is-missing {
    border-left-color: #485b8d;
}

.pancake-h5p-library-badge.is-current {
    background: rgba(45, 111, 94, 0.13);
    color: var(--pancake-info);
}

.pancake-h5p-library-badge.is-update_available {
    background: rgba(180, 123, 36, 0.15);
    color: #8b5c16;
}

.pancake-h5p-library-badge.is-missing {
    background: rgba(72, 91, 141, 0.13);
    color: #485b8d;
}

.pancake-h5p-hub-description {
    display: grid;
    gap: 7px;
    margin: 0;
}

.pancake-h5p-hub-description p {
    color: var(--pancake-muted);
    font-size: 0.86rem;
    margin: 0;
}

.pancake-h5p-hub-description p.is-note {
    background: rgba(180, 123, 36, 0.1);
    border-radius: 8px;
    color: #75501a;
    padding: 8px 10px;
}

.pancake-h5p-hub-actions {
    display: flex;
    margin: 0;
}

.pancake-h5p-hub-actions form {
    margin: 0;
}

.pancake-h5p-promotion-row {
    grid-template-columns: minmax(0, 1fr) auto;
}

.pancake-h5p-promotion-row .pancake-h5p-library-heading,
.pancake-h5p-promotion-row .pancake-h5p-library-details {
    grid-column: 1;
}

.pancake-h5p-promotion-row .pancake-h5p-hub-actions {
    align-self: center;
    grid-column: 2;
    grid-row: 1 / span 2;
}

.pancake-h5p-model-details {
    margin-top: 2px;
}

.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: var(--pancake-surface-translucent);
    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-preview-link {
    cursor: zoom-in;
    display: block;
}

.pancake-media-catalog-preview-link:focus-visible {
    border-radius: 8px;
    outline: 3px solid var(--pancake-accent);
    outline-offset: -3px;
}

.pancake-media-catalog-preview-dialog {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 48px);
    max-height: calc(100dvh - 48px);
    max-width: min(1400px, calc(100vw - 48px));
    overflow: hidden;
    width: min(1400px, calc(100vw - 48px));
}

.pancake-media-catalog-preview-dialog .pancake-modal-header {
    flex: 0 0 auto;
}

.pancake-media-catalog-preview-dialog .pancake-modal-header p {
    margin: 5px 0 0;
}

.pancake-media-catalog-preview-stage {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    margin: 18px 0 0;
    min-height: 0;
}

.pancake-media-catalog-preview-stage img {
    display: block;
    height: 100%;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.pancake-media-catalog-card div {
    display: grid;
    gap: 5px;
    padding: 0 10px 10px;
}

.pancake-media-catalog-card img.pancake-media-format-preview {
    object-fit: contain;
}

.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-surface-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-card .pancake-media-catalog-delete-form {
    border-top: 1px solid var(--pancake-border);
    display: flex;
    justify-content: flex-end;
    padding-top: 8px;
}

.pancake-media-catalog-delete-form .pancake-icon-button {
    height: 36px;
    width: 36px;
}

.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-modal .pancake-media-picker-dialog {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: min(820px, calc(100dvh - 84px));
    max-height: calc(100vh - 84px);
    max-height: calc(100dvh - 84px);
    width: min(1120px, calc(100vw - 48px));
    max-width: min(1120px, calc(100vw - 48px));
    overflow: hidden;
}

.pancake-media-picker-dialog > .pancake-modal-header,
.pancake-media-picker-dialog > .pancake-media-picker-actions {
    flex: 0 0 auto;
}

.pancake-media-picker-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    padding-right: 18px;
}

.pancake-media-picker-scroll .pancake-media-picker-grid {
    max-height: none;
    overflow: visible;
}

.pancake-media-picker-dialog > .pancake-media-picker-actions {
    border-top: 1px solid var(--pancake-border);
    padding-top: 14px;
}

.pancake-media-picker-toolbar {
    display: grid;
    gap: 18px;
    margin-top: 20px;
}

.pancake-storyboard-image-upload {
    background: color-mix(in srgb, var(--pancake-primary) 4%, var(--pancake-white));
    border: 1px dashed var(--pancake-border-strong);
    border-radius: var(--pancake-radius-medium);
    display: grid;
    gap: 10px;
    padding: 16px;
}

.pancake-storyboard-image-upload[hidden],
.pancake-storyboard-image-upload-preview[hidden] {
    display: none;
}

.pancake-storyboard-image-upload-preview {
    align-items: start;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
}

.pancake-storyboard-image-upload-preview img {
    border: 1px solid var(--pancake-border);
    border-radius: var(--pancake-radius-small);
    grid-row: span 4;
    max-height: 140px;
    object-fit: contain;
    width: 100%;
}

.pancake-storyboard-image-upload-preview input {
    width: 100%;
}

@media (max-width: 520px) {
    .pancake-storyboard-image-upload-preview {
        grid-template-columns: 1fr;
    }

    .pancake-storyboard-image-upload-preview img {
        grid-row: auto;
    }
}

.pancake-media-picker-scope-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pancake-media-picker-scope-tabs .pancake-button.is-selected {
    border-color: var(--pancake-primary);
    background: var(--pancake-primary);
    color: var(--pancake-white);
}

.pancake-media-picker-toolbar .pancake-field {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
}

.pancake-media-picker-toolbar label {
    color: var(--pancake-text);
    font-size: 0.88rem;
    font-weight: 700;
}

.pancake-media-picker-toolbar input,
.pancake-media-picker-toolbar select {
    min-width: 0;
    min-height: 46px;
}

.pancake-media-picker-filters {
    display: grid;
    gap: 16px;
    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: var(--pancake-white);
    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: var(--pancake-warm-overlay);
    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: var(--pancake-surface-warning);
    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-recipe-primary-actions {
        left: 0;
        right: 0;
    }

    .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 var(--pancake-border-medium);
        box-shadow: 0 18px 32px var(--pancake-border-soft);
        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 var(--pancake-border);
        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 var(--pancake-border);
        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-meta {
        grid-column: 1 / -1;
    }

    .pancake-access-profile-layout,
    .pancake-access-profile-meta-form {
        grid-template-columns: 1fr;
    }

    .pancake-access-profile-audit-actions {
        justify-content: center;
    }
}

@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-search-form > div {
        grid-template-columns: 1fr;
    }

    .pancake-search-form .pancake-button {
        justify-content: center;
        width: 100%;
    }

    .pancake-search-section > header {
        align-items: start;
        flex-direction: column;
        gap: 8px;
    }

    .pancake-search-result,
    .pancake-search-result:visited {
        align-items: start;
        grid-template-columns: 40px minmax(0, 1fr);
        padding: 12px;
    }

    .pancake-search-result > .fa-chevron-right {
        display: none;
    }

    .pancake-search-result-icon {
        height: 40px;
        width: 40px;
    }

    .pancake-has-shell .pancake-page {
        padding: 24px 16px 40px;
    }

    .pancake-has-shell .pancake-project-context-page {
        gap: 32px;
        padding: 0 0 40px;
    }

    .pancake-project-context-page > :not(.pancake-project-context-hero):not(.pancake-modal) {
        max-width: none;
        width: calc(100% - 32px);
    }

    .pancake-project-appearance-button {
        right: 16px;
        top: 16px;
    }

    .pancake-recipe-workflow-page .pancake-workflow-expert-toggle {
        right: 64px;
        top: 16px;
    }

    .pancake-recipes-page .pancake-section-heading {
        margin-bottom: 28px;
        margin-top: 0;
    }

    .pancake-recipes-page .pancake-recipes-grid-section {
        margin-top: 0;
    }

    .pancake-recipes-project-banner {
        height: 75px;
        min-height: 75px;
    }

    .pancake-placeholder-panel {
        grid-template-columns: 1fr;
    }

    .pancake-login-split {
        grid-template-columns: 1fr;
        grid-template-rows: clamp(210px, 30vh, 300px) minmax(0, 1fr);
    }

    .pancake-login-story {
        align-items: center;
        justify-content: center;
        min-height: 0;
        padding: 24px;
        text-align: center;
    }

    .pancake-login-story-content {
        transform: none;
    }

    .pancake-login-story p {
        justify-content: center;
    }

    .pancake-login-story h1 {
        font-size: clamp(1.7rem, 8vw, 2.25rem);
        line-height: 1.18;
    }

    .pancake-login-area {
        align-items: start;
        background: var(--pancake-white);
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 32px 24px;
        position: relative;
        z-index: 1;
    }

    .pancake-login-home,
    .pancake-login-home .pancake-app,
    .pancake-login-home .pancake-login-split {
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }

    .pancake-login-home .pancake-login-split {
        grid-template-rows: clamp(210px, 30vh, 300px) auto;
    }

    .pancake-login-home .pancake-login-area {
        height: auto;
        overflow: visible;
        padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
    }

    @supports (min-height: 100dvh) {
        .pancake-login-home,
        .pancake-login-home .pancake-app,
        .pancake-login-home .pancake-login-split {
            min-height: 100dvh;
        }
    }

    .pancake-login .pancake-brand {
        margin-bottom: 16px;
    }

    .pancake-login .pancake-logo {
        max-width: 180px;
        width: 52%;
    }

    .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-client-card {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .pancake-client-card-actions {
        justify-content: flex-start;
    }

    .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 {
        gap: clamp(8px, 5vw, 28px);
    }

    .pancake-workflow-stepper .pancake-step {
        min-height: 42px;
        padding: 9px 4px 6px;
    }

    .pancake-workflow-panel {
        padding: 0 0 8px;
    }

    .pancake-workflow-panel > .pancake-muted {
        margin-bottom: 28px;
    }

    .pancake-product-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-users-page .pancake-user-table .pancake-user-list-row {
        grid-template-columns: 1fr;
    }

    .pancake-notifications-history-section .pancake-user-list-row {
        grid-template-columns: 1fr;
    }

    .pancake-users-page .pancake-user-table .pancake-user-list-row > span:nth-child(n + 3) {
        text-align: left;
    }

    .pancake-users-page .pancake-user-table .pancake-user-list-actions {
        justify-content: flex-start;
    }

    .pancake-connect-session-report-page .pancake-connect-report-table .pancake-user-list-row > span[role="cell"] {
        text-align: left;
    }

    .pancake-connect-session-report-page .pancake-connect-report-detail-table .pancake-user-list-row > .pancake-status-pill {
        justify-self: start;
    }

    .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-notifications-page .pancake-user-list-row > span[role="cell"][data-label]::before,
    .pancake-users-page .pancake-user-list-row > span[role="cell"][data-label]::before {
        content: attr(data-label);
    }

    .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-session-page .pancake-connect-tracking-table .pancake-user-list-row > span[role="cell"][data-label]::before {
        content: attr(data-label);
    }

    .pancake-connect-report-page .pancake-connect-report-table .pancake-user-list-row > span[role="cell"][data-label]::before {
        content: attr(data-label);
    }

    .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 {
        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-format-content .pancake-choice-card-copy {
        min-height: 0;
    }

    .pancake-format-meta {
        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-meta {
        grid-column: auto;
    }

    .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 auto;
    }

    .pancake-activity-disclosure {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }

    .pancake-sequence-disclosure {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }

    .pancake-plan-duration,
    .pancake-activity-header em,
    .pancake-activity-header .pancake-activity-state,
    .pancake-validation-quiz-header .pancake-activity-state,
    .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-guidance-actions-expert > form {
        width: 100%;
    }

    .pancake-analysis-wait,
    .pancake-guided-step summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .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-h5p-promotion-row {
        grid-template-columns: 1fr;
    }

    .pancake-h5p-promotion-row .pancake-h5p-hub-actions {
        grid-column: 1;
        grid-row: auto;
    }

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

    .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-modal .pancake-form.pancake-modal-editor-form,
    .pancake-modal-editor-scroll {
        padding-right: 8px;
    }

    .pancake-h5p-library-filters .pancake-form-grid {
        grid-template-columns: 1fr;
    }

    .pancake-h5p-library-heading {
        display: grid;
    }

    .pancake-h5p-library-badges {
        justify-content: flex-start;
    }

    .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: var(--pancake-surface-highlight);
    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;
    }
}

.pancake-recipe-creation-wait > div {
    width: 100%;
}

.pancake-recipe-creation-wait > .pancake-ai-spinner {
    flex: 0 0 auto;
    font-size: 3.25rem;
}

.pancake-generation-progress {
    background: var(--pancake-border-medium);
    border-radius: 999px;
    height: 8px;
    margin: 16px 0 8px;
    overflow: hidden;
    width: 100%;
}

.pancake-generation-progress > span {
    background: var(--pancake-primary);
    display: block;
    height: 100%;
    min-width: 2%;
    transition: width 0.35s ease;
}

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

.pancake-ingredient-objectives .pancake-structure-header > .pancake-objective-actions {
    align-items: center;
}

.pancake-ingredient-objectives .pancake-guided-step-status {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1.2;
    padding: 8px 12px;
    white-space: nowrap;
}

.pancake-ingredient-objectives .pancake-guidance-actions {
    margin-top: 22px;
}

.pancake-ingredient-objectives .pancake-guidance-actions > form.is-loading {
    width: 100%;
    min-width: 0;
}

.pancake-ingredient-objectives .pancake-recipe-creation-wait {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}

.pancake-support-launcher { align-items:center; background:var(--pancake-primary); border:0; border-radius:50%; bottom:22px; box-shadow:var(--pancake-shadow-elevated); box-sizing:border-box; color:var(--pancake-white); cursor:pointer; display:flex; font:inherit; height:52px; justify-content:center; padding:0; position:fixed; right:22px; width:52px; z-index:10040; }
.pancake-support-launcher > i { font-size:2em; line-height:1; }
.pancake-support-launcher-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.pancake-support-launcher strong { align-items:center; background:var(--pancake-white); border-radius:999px; color:var(--pancake-primary); display:flex; font-size:.72rem; height:22px; justify-content:center; min-width:22px; padding:0 4px; position:absolute; right:-4px; top:-4px; }
.pancake-support-panel { background:var(--pancake-white); border:1px solid var(--pancake-border); border-radius:20px; bottom:86px; box-shadow:var(--pancake-modal-shadow); box-sizing:border-box; max-height:calc(100vh - 120px); overflow:auto; padding:22px; position:fixed; right:22px; width:min(390px,calc(100vw - 32px)); z-index:10039; }
.pancake-support-panel > header { align-items:flex-start; display:flex; justify-content:space-between; margin-bottom:18px; }
.pancake-support-panel h2,.pancake-support-panel h3 { margin:0; }
.pancake-support-panel > header small { color:var(--pancake-accent); font-weight:800; text-transform:uppercase; }
.pancake-support-panel > header button { background:transparent; border:0; cursor:pointer; font-size:1.1rem; }
.pancake-support-form { display:grid; gap:12px; }
.pancake-support-form label { display:grid; font-size:.82rem; font-weight:700; gap:5px; }
.pancake-support-form input,.pancake-support-form select,.pancake-support-form textarea { border:1px solid var(--pancake-border); border-radius:9px; font:inherit; padding:10px; width:100%; }
.pancake-support-recent { border-top:1px solid var(--pancake-border); margin-top:20px; padding-top:16px; }
.pancake-support-recent-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:9px; }
.pancake-support-recent > a { align-items:center; border-radius:10px; color:inherit; display:flex; justify-content:space-between; padding:10px; text-decoration:none; }
.pancake-support-recent > a:hover { background:var(--pancake-secondary); }
.pancake-support-recent > a small { color:var(--pancake-accent); }
.pancake-support-page-grid { display:grid; gap:24px; grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr); }
.pancake-has-shell .pancake-support-my-page { padding-top:60px; }
.pancake-support-my-page .pancake-support-my-intro h1 { margin:0; }
.pancake-support-my-page .pancake-support-my-intro p { color:var(--pancake-accent); margin:12px auto 0; max-width:800px; }
.pancake-support-my-page .pancake-support-my-create-panel h2,.pancake-support-my-page .pancake-support-my-list-panel h2 { margin:0 0 24px; text-align:center; }
.pancake-has-shell .pancake-support-my-page .pancake-support-my-list-panel { background:transparent; border:0; box-shadow:none; padding:32px 0 0; }
.pancake-has-shell .pancake-support-conversation-page { gap:20px; padding-top:60px; }
.pancake-support-conversation-page .pancake-support-conversation-intro { margin-bottom:10px; }
.pancake-support-conversation-page .pancake-support-conversation-intro h1 { margin:0; }
.pancake-support-conversation-page .pancake-support-conversation-intro p { color:var(--pancake-accent); margin:12px auto 0; max-width:800px; }
.pancake-has-shell .pancake-support-admin-page { gap:32px; padding-top:60px; }
.pancake-support-admin-page .pancake-support-admin-intro { margin-bottom:18px; }
.pancake-support-admin-page .pancake-support-admin-intro h1 { margin:0; }
.pancake-support-admin-page .pancake-support-admin-intro p { color:var(--pancake-accent); margin:12px auto 0; max-width:800px; }
.pancake-support-admin-page .pancake-support-filters + .pancake-panel { margin-top:0; }
.pancake-support-page > .pancake-panel,.pancake-support-page-grid > .pancake-panel,.pancake-support-admin-grid .pancake-panel { box-sizing:border-box; max-width:100%; min-width:0; width:100%; }
.pancake-support-order-banner { align-items:center; background:var(--pancake-success-background); border:1px solid var(--pancake-success-border); border-radius:14px; box-sizing:border-box; color:var(--pancake-success-text); display:flex; gap:16px; justify-content:space-between; padding:14px 18px; width:100%; }
.pancake-support-order-banner.is-pending { background:var(--pancake-surface-warning); border-color:var(--pancake-accent-border); color:var(--pancake-warning-text); }
.pancake-support-order-banner h2 { color:inherit; font-size:1rem; margin:0 0 4px; }
.pancake-support-order-banner p { line-height:1.4; margin:0; }
.pancake-support-order-banner p + p { margin-top:5px; }
.pancake-support-order-banner form { flex:0 0 auto; margin:0; }
.pancake-support-order-banner .pancake-button { white-space:nowrap; }
.pancake-support-ticket-list { display:grid; gap:10px; }
.pancake-support-ticket-list > a,.pancake-support-ticket-row { align-items:center; border:1px solid var(--pancake-border); border-radius:12px; color:inherit; display:flex; justify-content:space-between; padding:15px; text-decoration:none; }
.pancake-support-ticket-list > a:hover,.pancake-support-ticket-row:hover { border-color:var(--pancake-accent); }
.pancake-support-my-page .pancake-support-ticket-list > a { background:var(--pancake-white); border-radius:16px; box-shadow:0 14px 28px rgba(31,28,24,.05); }
.pancake-support-my-page .pancake-support-ticket-list > .pancake-muted { background:var(--pancake-white); border:1px dashed var(--pancake-border); border-radius:16px; margin:0; padding:18px; }
.pancake-support-ticket-row { gap:12px; padding:0 10px 0 0; }
.pancake-has-shell .pancake-support-admin-page .pancake-support-requests-panel { background:transparent; border:0; box-shadow:none; padding:0; }
.pancake-support-admin-page .pancake-support-ticket-row { background:var(--pancake-white); border-radius:16px; box-shadow:0 14px 28px rgba(31,28,24,.05); }
.pancake-support-ticket-row > a { align-items:center; color:inherit; display:flex; flex:1 1 auto; justify-content:space-between; min-width:0; padding:15px; text-decoration:none; }
.pancake-support-ticket-row > form { flex:0 0 auto; margin:0; }
.pancake-support-ticket-list span { display:grid; gap:4px; }
.pancake-support-ticket-list small { color:var(--pancake-text-secondary); }
.pancake-support-ticket-list em { color:var(--pancake-accent); font-size:.8rem; font-style:normal; font-weight:800; }
.pancake-support-thread { align-items:start; display:grid; gap:18px; }
.pancake-support-message { background:var(--pancake-surface); border:1px solid var(--pancake-border-strong); border-radius:18px 18px 18px 5px; box-shadow:var(--pancake-shadow-soft); box-sizing:border-box; justify-self:start; max-width:78%; min-width:min(260px,100%); padding:14px 17px 15px; }
.pancake-support-message.is-customer { background:var(--pancake-primary); border-color:var(--pancake-primary); border-radius:18px 18px 5px 18px; color:var(--pancake-primary-contrast); justify-self:end; }
.pancake-support-message.is-agent { background:var(--pancake-surface); }
.pancake-support-message.is-internal { background:var(--pancake-surface-warning); border:1px dashed var(--pancake-accent-border-strong); border-radius:14px; box-shadow:none; color:var(--pancake-text); justify-self:stretch; max-width:100%; }
.pancake-support-message header { align-items:center; display:grid; font-size:.75rem; gap:8px 18px; grid-template-columns:minmax(0,1fr) auto; }
.pancake-support-message header strong { overflow-wrap:anywhere; }
.pancake-support-message header time { color:var(--pancake-text-secondary); font-size:.72rem; white-space:nowrap; }
.pancake-support-message.is-customer header time { color:var(--pancake-primary-contrast); opacity:.78; }
.pancake-support-message p { line-height:1.55; margin:9px 0 0; overflow-wrap:anywhere; }
.pancake-support-admin-grid { align-items:start; column-gap:24px; display:grid; grid-template-columns:minmax(0,1fr) 320px; grid-template-rows:auto auto; row-gap:20px; }
.pancake-support-admin-grid main,.pancake-support-admin-grid aside { align-content:start; display:grid; grid-row:1 / span 2; grid-template-rows:subgrid; }
.pancake-support-admin-grid main { grid-column:1; }
.pancake-support-admin-grid aside { grid-column:2; }
.pancake-support-admin-grid .pancake-form { margin-top:0; }
.pancake-support-compose-grid { display:grid; gap:18px; grid-template-columns:1fr 1fr; }
.pancake-support-compose-grid .pancake-form { align-content:start; }
.pancake-support-filters { align-items:end; display:grid; gap:14px; grid-template-columns:220px 1fr auto; margin-top:0; }
.pancake-support-filters + .pancake-panel { margin-top:25px; }
.pancake-support-filters .pancake-field { min-width:0; }
.pancake-support-filters select { background:var(--pancake-surface-translucent); border-color:var(--pancake-ink-12); border-radius:10px; font-size:.82rem; font-weight:800; min-height:38px; padding:8px 10px; }
.pancake-support-context dl { display:grid; gap:10px; }
.pancake-support-context dl div { border-bottom:1px solid var(--pancake-border); padding-bottom:8px; }
.pancake-support-context dt { color:var(--pancake-text-secondary); font-size:.72rem; text-transform:uppercase; }
.pancake-support-context dd { margin:3px 0 0; overflow-wrap:anywhere; }
.pancake-support-context-links { display:grid; gap:8px; margin-top:16px; }
.pancake-support-settings-form { display:grid; gap:22px; margin-top:22px; }
.pancake-support-settings-form .pancake-checkbox-line { margin:0; }
.pancake-support-contact { color:var(--pancake-accent); display:inline-block; font-size:.82rem; margin-top:4px; overflow-wrap:anywhere; }
@media (max-width:800px) { .pancake-support-page-grid,.pancake-support-admin-grid,.pancake-support-compose-grid,.pancake-support-filters { grid-template-columns:1fr; } .pancake-support-admin-grid { grid-template-rows:auto; } .pancake-support-admin-grid main,.pancake-support-admin-grid aside { gap:20px; grid-column:auto; grid-row:auto; grid-template-rows:auto; } .pancake-support-message { max-width:92%; } .pancake-support-launcher { bottom:14px; right:14px; } .pancake-support-panel { bottom:78px; right:16px; } }
@media (max-width:720px) { .pancake-support-order-banner { align-items:stretch; flex-direction:column; } .pancake-support-order-banner form,.pancake-support-order-banner .pancake-button { width:100%; } }
@media (max-width:520px) { .pancake-support-message { max-width:96%; min-width:0; width:fit-content; } .pancake-support-message header { align-items:start; grid-template-columns:1fr; } .pancake-support-message header time { white-space:normal; } }
.pancake-client-settings-form {
    display: grid;
    gap: 32px;
    min-width: 0;
    width: 100%;
}

.pancake-client-settings-panel {
    padding: 28px;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.pancake-client-settings-panel-heading {
    margin-bottom: 24px;
    text-align: center;
    width: 100%;
}

.pancake-client-settings-panel-heading.is-subsection {
    margin-top: 32px;
}

.pancake-client-settings-panel-heading h2,
.pancake-client-settings-panel-heading h3 {
    font-size: 1.25rem;
    margin: 0;
}

.pancake-client-settings-panel-heading .pancake-help {
    color: var(--pancake-accent);
    margin: 10px auto 0;
    max-width: 760px;
}

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

.pancake-entitlement-card,
.pancake-quota-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 84px;
    padding: 16px;
    border: 1px solid var(--pancake-border, #e5ded5);
    border-radius: 14px;
    background: var(--pancake-white);
}

.pancake-entitlement-card span,
.pancake-quota-card span {
    display: grid;
    gap: 4px;
    flex: 1;
}

.pancake-entitlement-card small,
.pancake-quota-card small {
    color: var(--pancake-muted);
}

.pancake-quota-card {
    align-items: flex-start;
    flex-wrap: wrap;
}

.pancake-quota-card input {
    width: 88px;
}

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

.pancake-client-beta-grid label {
    display: grid;
    gap: 8px;
}

.pancake-client-beta-grid .is-wide {
    grid-column: 1 / -1;
}

.pancake-client-settings-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-bottom: 32px;
}

.pancake-client-administration-panel {
    display: grid;
    gap: 18px;
    justify-items: center;
}

.pancake-client-administration-panel .pancake-client-settings-panel-heading {
    margin-bottom: 0;
}

.pancake-client-administration-panel > .pancake-help {
    margin: 0;
    text-align: center;
}

.pancake-client-administration-panel > .pancake-button {
    justify-self: end;
}

@media (max-width: 980px) {
    .pancake-entitlement-grid,
    .pancake-quota-grid,
    .pancake-client-beta-grid { grid-template-columns: 1fr; }
    .pancake-client-beta-grid .is-wide { grid-column: auto; }
}
/* Recipe reader themes: bounded controls and a non-interactive design preview. */
.pancake-theme-identity { border-bottom: 1px solid var(--pancake-border, #ddd); padding-bottom: 16px; }
.pancake-theme-identity > summary { cursor: pointer; font-weight: 600; padding: 12px 0; }
.pancake-theme-identity-logo-options {
    display: grid;
    gap: 10px;
    margin-top: 24px;
}
.pancake-theme-identity-logo-options .pancake-welcome-logo-label { display: grid; gap: 8px; font-weight: 600; }
.pancake-welcome-logo-label select { font-weight: 400; }
.pancake-theme-identity-logo-options .pancake-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 14px 0 0;
}
.pancake-theme-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 16px 0; padding: 4px; }
.pancake-theme-choice { display: grid; gap: 8px; padding: 12px; background: #fff; color: #292524; border: 1px solid #d6d3d1; border-radius: 10px; text-align: left; cursor: pointer; }
.pancake-theme-choice[aria-pressed="true"] { outline: 2px solid #8a5c34; outline-offset: 2px; }
.pancake-theme-choice small { font-size: 12px; line-height: 1.4; }
.pancake-theme-thumbnail { padding: 10px; background: #f1f1f1; min-height: 66px; }
.pancake-theme-thumbnail b { font: bold 22px Arial, sans-serif; }
.pancake-theme-thumbnail i { display: block; height: 3px; margin-top: 5px; background: #b8b5b0; width: 75%; }
.pancake-theme-thumbnail.is-confort { border-radius: 10px; background: #f5f4f0; padding: 12px; }
.pancake-theme-thumbnail.is-editorial b { font-family: Georgia, serif; }
.pancake-theme-layout { display: grid; grid-template-columns: minmax(230px, .85fr) minmax(0, 1.3fr); gap: 24px; align-items: start; }
.pancake-theme-controls details { border-bottom: 1px solid #dedbd6; padding: 12px 0; }
.pancake-theme-controls summary { cursor: pointer; font-weight: 600; }
.pancake-theme-controls fieldset { border: 0; margin: 0; padding: 12px 0 0; min-width: 0; display: grid; gap: 12px; }
.pancake-theme-controls fieldset:disabled { opacity: .65; }
.pancake-theme-controls label { display: grid; gap: 6px; }
.pancake-theme-controls select { width: 100%; }
.pancake-theme-controls input[type="color"] { width: 64px; height: 38px; }
.pancake-theme-palette-extra { display: grid; gap: 10px; }
.pancake-theme-controls output { font-size: 12px; }
.pancake-theme-color-row { display: flex; align-items: end; gap: 8px; }
.pancake-theme-color-row label { flex: 1; grid-template-columns: 64px 1fr; align-items: center; }
.pancake-theme-color-row label > span { grid-column: 1 / -1; }
.pancake-theme-palette-extra .pancake-theme-color-row { margin-top: 12px; }
.pancake-branding-color-grid[hidden] { display: none; }
.pancake-theme-editor .pancake-theme-preview h3 { color: var(--sample-muted); }
.pancake-theme-editor .pancake-theme-preview .sample-divider { border-color: var(--sample-border); }
.pancake-theme-editor .pancake-theme-preview .sample-answer { background: var(--sample-soft); border-color: var(--sample-border); }
.pancake-theme-preview-column { position: sticky; top: 0; min-width: 0; }
.pancake-theme-preview-toolbar { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.pancake-theme-preview-toolbar label { display: grid; gap: 4px; flex: 1; }
.pancake-theme-preview { background: var(--sample-background); color: var(--sample-text); border: 1px solid #d6d3d1; min-height: 380px; margin: 0 auto 12px; padding: 24px; font-family: var(--sample-font); font-size: var(--sample-size); transition: max-width .15s; }
.pancake-theme-preview[data-device="mobile"] { max-width: 300px; padding: 18px; }
.pancake-theme-sample { width: var(--sample-width); margin: auto; display: grid; gap: var(--sample-gap); }
.pancake-theme-preview :is(h2,h3,p) { margin: 0; color: inherit; }
.pancake-theme-preview h2 { font: 700 1.6em/1.25 var(--sample-heading-font); }
.pancake-theme-preview h3 { font: 600 1.15em/1.4 var(--sample-heading-font); }
.pancake-theme-preview p { font-size: 1em; line-height: 1.55; }
.pancake-theme-preview .sample-kicker { color: var(--sample-primary); font-size: 10px; letter-spacing: 1px; }
.pancake-theme-preview .sample-divider { border-top: 1px solid color-mix(in srgb, var(--sample-primary) 25%, transparent); }
.pancake-theme-preview .sample-card { display: grid; gap: 12px; border-radius: 8px; }
.pancake-theme-preview[data-surface="cards"] .sample-card { background: var(--sample-surface); padding: 20px; }
.pancake-theme-preview[data-border="subtle"] .sample-card { border: 1px solid var(--sample-border); padding: 20px; }
.pancake-theme-preview[data-shadow="soft"] .sample-card { box-shadow: 0 8px 24px #00000012; padding: 20px; }
.pancake-theme-preview .sample-button { background: var(--sample-primary); color: var(--sample-button-text, #fff); border: 0; padding: 12px 18px; border-radius: var(--sample-radius); justify-self: center; font: 600 .9em var(--sample-font); cursor: default; }
.pancake-theme-preview .sample-answer { border: 1px solid #aaa; padding: 8px; }
.pancake-theme-preview .sample-correct { color: #185737; background: #eaf8f0; padding: 8px; margin-top: 8px; }
@media (max-width: 800px) {
 .pancake-theme-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .pancake-theme-layout { grid-template-columns: 1fr; }
 .pancake-theme-preview-column { position: static; }
}

/* En-têtes des pages d'administration : titre unique sur fond blanc. */
.pancake-admin-standard-page {
    display: grid;
    gap: 28px;
}

.pancake-has-shell .pancake-admin-standard-page {
    padding-top: 60px;
}

.pancake-admin-standard-page > .pancake-dashboard-intro {
    display: block;
    text-align: center;
    width: 100%;
}

.pancake-admin-standard-page > .pancake-dashboard-intro h1 {
    font-size: 2em;
    font-weight: 400;
    margin: 0;
}

.pancake-admin-standard-page > .pancake-dashboard-intro p {
    color: var(--pancake-accent);
    margin: 12px auto 0;
    max-width: 800px;
}

.pancake-admin-standard-page > .pancake-dashboard-intro p + p {
    margin-top: 6px;
}

.pancake-clients-page > .pancake-dashboard-stats {
    margin-top: 28px;
}

.pancake-admin-page-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: -6px;
}

@media (max-width: 720px) {
    .pancake-has-shell .pancake-admin-standard-page {
        padding-top: 32px;
    }
}

.pancake-field.is-learner-instruction-hidden > .tox-tinymce { opacity: .65; }


.pancake-duplicate-choice {
    background: var(--pancake-surface-subtle);
    border: 1px solid var(--pancake-border);
    border-radius: 12px;
    margin: -4px 0 24px;
    padding: 16px;
}
.pancake-duplicate-choice label { display: block; font-weight: 700; margin-bottom: 8px; }
.pancake-duplicate-choice select { width: 100%; }
.pancake-duplicate-choice-description { color: var(--pancake-text-secondary); font-size: .92rem; margin: 10px 0 0; }

/* Choix de duplication : un sélecteur visuellement cohérent avec les cartes PANCAKE. */
.pancake-confirm-dialog .pancake-duplicate-choice {
    background: linear-gradient(135deg, var(--pancake-surface-subtle), var(--pancake-surface-warm));
    border-color: var(--pancake-border-medium);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
    margin-top: 0;
    padding: 18px;
}
.pancake-confirm-dialog .pancake-duplicate-choice label {
    color: var(--pancake-muted);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.pancake-confirm-dialog .pancake-duplicate-choice select {
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--pancake-surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%239b7044' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
    background-position: right 18px center;
    background-repeat: no-repeat;
    background-size: 14px 9px;
    border: 1px solid var(--pancake-border-strong);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(42, 37, 32, .04);
    color: var(--pancake-text);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    min-height: 48px;
    padding: 11px 48px 11px 14px;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
.pancake-confirm-dialog .pancake-duplicate-choice select:hover {
    background-color: var(--pancake-surface-highlight);
    border-color: var(--pancake-accent);
}
.pancake-confirm-dialog .pancake-duplicate-choice select:focus-visible {
    border-color: var(--pancake-focus);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pancake-focus) 24%, transparent);
    outline: none;
}
.pancake-confirm-dialog .pancake-duplicate-choice-description {
    border-left: 3px solid var(--pancake-accent);
    color: var(--pancake-text-secondary);
    line-height: 1.55;
    margin: 14px 0 0;
    padding-left: 12px;
}

/* Publication: compact export buttons, followed by presentation options. */
.pancake-button-row.pancake-plan-export-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
}
.pancake-plan-export-actions > .pancake-inline-form {
    flex: 0 0 auto;
    width: auto;
}
.pancake-plan-export-actions .pancake-presentation-export-form {
    flex: 0 0 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.pancake-presentation-video-option {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-left: 0;
}
.pancake-presentation-export-form [data-pancake-pptx-estimate][hidden] {
    display: none;
}
.pancake-plan-export-actions > [data-pancake-publication-download-status],
.pancake-plan-export-actions > [data-pancake-export-readiness] {
    flex: 0 0 100%;
    min-width: 0;
}
.pancake-plan-export-actions .pancake-button {
    height: auto;
    width: auto;
}
@media (max-width: 700px) {
    .pancake-presentation-video-option {
        margin-left: 0;
        flex-basis: 100%;
    }
}

.pancake-demo-badge { display: inline-flex; align-items: center; gap: 5px; vertical-align: middle; padding: 3px 8px; border-radius: 12px; color: #70501d; background: #f5e8cb; font-size: 12px; font-weight: 600; white-space: nowrap; }
.pancake-demo-badge[hidden] { display: none; }
.pancake-demo-control { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; margin: 20px 0 24px; }
.pancake-demo-control label { display: flex; align-items: center; gap: 8px; margin: 0; }
.pancake-demo-control input[role="switch"] { appearance: none; width: 36px; height: 20px; border-radius: 12px; background: #999; position: relative; cursor: pointer; flex-shrink: 0; }
.pancake-demo-control input[role="switch"]::after { content: ''; position: absolute; width: 14px; height: 14px; top: 3px; left: 3px; border-radius: 50%; background: white; }
.pancake-demo-control input[role="switch"]:checked { background: #89632b; }
.pancake-demo-control input[role="switch"]:checked::after { left: 19px; }
.pancake-demo-control input:disabled { opacity: .5; }
.pancake-demo-control [data-demo-limit-label][hidden] { display: none; }

.pancake-demo-control select { width: 64px; min-width: 64px; padding: 6px 10px; border: 1px solid #b9cbb5; border-radius: 6px; background: white; color: inherit; font: inherit; }
.pancake-demo-control select:disabled { opacity: .5; }
.pancake-demo-control [data-demo-status]:empty { display: none; }

/* Catalogue administration: collapsible CLI reference. */
.pancake-media-cli-help { margin-top: 1rem; }
.pancake-media-cli-help > summary { cursor: pointer; font-weight: 600; padding: .75rem 0; }
.pancake-media-cli-help > summary:focus-visible { outline: 2px solid var(--pancake-primary); outline-offset: 3px; }
.pancake-media-cli-help dl > div { padding: 1rem 0; border-top: 1px solid var(--pancake-border); }
.pancake-media-cli-help dt { font-weight: 600; margin-bottom: .5rem; }
.pancake-media-cli-help dd { margin: 0; }
.pancake-media-cli-help code { overflow-wrap: anywhere; white-space: normal; }
.pancake-media-cli-help dd p { margin: .5rem 0 0; }


.pancake-plan-export-actions > .pancake-publication-package-row { flex: 0 0 100%; }
.pancake-publication-document-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; flex-basis: 100%; }
.pancake-document-format { display: inline-flex; gap: 3px; margin: 0; padding: 4px; border: 1px solid var(--pancake-border); border-radius: 12px; background: #ece8e1; }
.pancake-document-format label { position: relative; cursor: pointer; }
.pancake-document-format input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pancake-document-format span { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border-radius: 8px; font-size: .85rem; font-weight: 700; color: var(--pancake-muted); }
.pancake-document-format input:checked + span { background: var(--pancake-white); color: var(--pancake-text); box-shadow: 0 1px 4px #00000016; }
.pancake-document-format input:focus-visible + span { outline: 2px solid var(--pancake-primary); outline-offset: 2px; }

/* Row controls mirror the activity grips, with actions aligned to the right. */
.activity-row-tools > .activity-row-line-grip {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 34px;
    padding: 0;
    border: 1px solid transparent;
    background: transparent;
    color: var(--pancake-primary);
    font: inherit;
    cursor: grab;
    touch-action: none;
}
.activity-row-tools > .activity-row-line-grip:hover {
    background: #ede6d9;
    border-color: #a57b4f;
}
.activity-row-tools > .activity-row-line-grip:active { cursor: grabbing; }
.activity-row-tools > .activity-row-line-grip:focus-visible {
    outline: 2px solid #a57b4f;
    outline-offset: 2px;
}
.activity-row-tools > .activity-row-disposition {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.activity-row-tools > button:disabled { opacity: .3; cursor: default; }
.activity-row.is-dragging-row { opacity: .45; outline: 2px dashed #987044; }
.activity-row-line-marker { list-style: none; }
.activity-row.is-placed { animation: activity-row-placed 1.8s ease-out; }

/* Compact author view. The learner runtime and stored layout are unaffected. */
.activity-row-layout-toolbar {
    display: flex;
    justify-content: flex-end;
    margin: 8px 0 12px;
}
.activity-row-add-actions { margin-top: 12px; }
.activity-row-layout-toggle { display: inline-flex; align-items: center; gap: 8px; }
.activity-row-layout-toggle[aria-pressed="true"] {
    background: var(--pancake-sidebar);
    border-color: var(--pancake-accent, #a57b4f);
}
.pancake-activity-list.is-layout-tools-hidden { margin-top: 6px; gap: 8px; }
.pancake-activity-list.is-layout-tools-hidden .activity-row-tools,
.pancake-activity-list.is-layout-tools-hidden .activity-row-grip,
.pancake-activity-list.is-layout-tools-hidden .activity-row-header-controls,
.pancake-activity-list.is-layout-tools-hidden .activity-row-empty,
.activity-row-add-actions [data-add-activity-row][hidden] { display: none; }
.pancake-activity-list.is-layout-tools-hidden > .activity-row {
    margin: 0;
    padding: 0;
    border-color: transparent;
    background: transparent;
}
.pancake-activity-list.is-layout-tools-hidden .activity-row-slot {
    min-height: 0;
    padding: 0;
    border: 0;
}
/* Match legacy activity cards, independently of the number of row columns. */
.pancake-activity-list.is-layout-tools-hidden .activity-row-item > .pancake-activity-edit-card {
    background: var(--pancake-sidebar);
    border-color: var(--pancake-border);
}
.pancake-activity-list.is-layout-tools-hidden .activity-row-item > .pancake-activity-edit-card:hover,
.pancake-activity-list.is-layout-tools-hidden .activity-row-item > .pancake-activity-edit-card.is-selected {
    border-color: rgba(138, 92, 52, 0.42);
}
.pancake-activity-list.is-layout-tools-hidden .activity-row-item { margin-bottom: 0; }
.pancake-activity-list.is-layout-tools-hidden .activity-row-item + .activity-row-item { margin-top: 8px; }
.activity-row-add-actions.is-layout-tools-hidden { grid-template-columns: 1fr; }
.activity-row-save-status:empty { display: none; }

/* Sequence dragging is restricted to the author layout handle. */
.pancake-plan-sequence-leading { display: inline-flex; align-items: center; gap: 8px; }
.pancake-sequence-drag-grip {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 34px; padding: 0; flex-shrink: 0;
    border: 1px solid transparent; border-radius: 8px;
    background: transparent; color: var(--pancake-primary); font: inherit; cursor: grab;
}
.pancake-sequence-drag-grip[hidden] { display: none; }
.pancake-sequence-drag-grip:hover { background: #ede6d9; border-color: #a57b4f; }
.pancake-sequence-drag-grip:active { cursor: grabbing; }
.pancake-sequence-drag-grip:focus-visible { outline: 2px solid #a57b4f; outline-offset: 2px; }
.pancake-field .pancake-slideshow-option { display: flex; width: 100%; align-items: center; justify-content: flex-start; gap: 12px; cursor: pointer; }
.pancake-slideshow-option .pancake-slideshow-control { display: inline-flex; position: relative; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--pancake-warning-text); }
.pancake-slideshow-control .pancake-slideshow-checkbox { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.pancake-slideshow-control:has(.pancake-slideshow-checkbox:focus-visible) { outline: 2px solid currentColor; outline-offset: 3px; }
.pancake-slideshow-control .pancake-slideshow-checked { display: none; }
.pancake-slideshow-checkbox:checked ~ .pancake-slideshow-unchecked { display: none; }
.pancake-slideshow-checkbox:checked ~ .pancake-slideshow-checked { display: inline; }
.pancake-slideshow-option .pancake-slideshow-label { transition: opacity 160ms ease; }
.pancake-slideshow-option:has(.pancake-slideshow-checkbox:not(:checked)) .pancake-slideshow-label,
.pancake-slideshow-checkbox:not(:checked) ~ .pancake-slideshow-unchecked { opacity: .5; }
