/* Experience composition. Scoped to the redesigned app; school semantic overrides stay authoritative. */
#app-container.experience-shell { --experience-rail: 224px; --experience-line: var(--v1-border, #d6e0e3); position: relative; min-height: 100dvh; }
.experience-shell .hidden { display: none !important; }
.experience-shell > header { position: relative; z-index: 30; background: var(--experience-banner, var(--bg-surface, #fff)); color: var(--experience-banner-text, var(--text-dark, #172d3a)); box-shadow: none !important; padding: 0 32px; border-bottom: 1px solid var(--experience-line); }
.experience-shell > header > .experience-identity { max-width: none; min-height: 76px; display: flex; justify-content: space-between; flex-wrap: nowrap; gap: 24px; }
.experience-shell .experience-school { display: flex; align-items: center; gap: 16px; min-width: 0; }
.experience-wordmark { font-size: 22px; font-weight: 800; letter-spacing: -.8px; padding-right: 20px; border-right: 1px solid var(--experience-line); }
.experience-shell #nav-school-logo { max-width: 40px; max-height: 36px; object-fit: contain; }
.experience-shell #nav-school-name { white-space: normal; max-width: 420px; overflow: visible; font-size: 14px; font-style: normal; line-height: 1.35; }
.experience-shell #nav-role-badge { background: var(--bg-primary, #f2f0e6); color: var(--text-dark, #172d3a); font-size: 11px; }
.experience-account { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.experience-shell #profile-menu-btn { min-height: 44px; color: var(--experience-banner-text, var(--text-dark, #172d3a)); }
.experience-shell #user-avatar { background: var(--bg-primary, #f2f0e6); color: var(--text-dark, #172d3a); }
.experience-shell #experience-menu-toggle { display: none; min-height: 44px; padding: 8px 12px; border: 1px solid var(--experience-line); border-radius: 8px; font-size: 14px; font-weight: 700; }
.experience-rail { position: absolute; left: 0; top: 76px; width: var(--experience-rail); min-height: calc(100dvh - 76px); padding: 32px 16px; background: var(--bg-surface, #fff); border-right: 1px solid var(--experience-line); }
.experience-rail-label { font-size: 12px; letter-spacing: .1em; font-weight: 700; color: var(--heading-ink-soft, #52636d); margin: 0 12px 20px; text-transform: uppercase; }
.experience-shell .app-primary-nav { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 8px; width: auto; color: var(--text-dark, #172d3a); }
.experience-shell .app-primary-nav > #dashboard-btn,
.experience-shell .nav-menu-summary { width: 100%; justify-content: space-between; min-height: 48px; padding: 12px; text-align: left; color: inherit; font-size: 14px; border-radius: 8px; }
.experience-shell .nav-menu-items { position: static; width: auto; min-width: 0; max-width: none; max-height: none; padding: 4px 0 8px 12px; border: 0; box-shadow: none; background: transparent; transform: none; }
.experience-shell .nav-menu-item { min-height: 44px; width: 100%; color: var(--text-dark, #172d3a); padding: 10px 12px; font-size: 14px; border-radius: 8px; }
.experience-shell .app-primary-nav [aria-current="page"] { background: var(--accent-light, #f2f0e6); color: var(--text-dark, #172d3a); }
.experience-shell .nav-menu-summary:hover, .experience-shell .nav-menu-item:hover { background: var(--accent-light, #f2f0e6); color: var(--text-dark, #172d3a); }
.experience-shell > main, .experience-shell > section:not(.hidden) { margin-left: var(--experience-rail); width: calc(100% - var(--experience-rail)); max-width: none; padding: 40px 48px; }
.experience-shell #dashboard-analytics-view > .bg-white { background: transparent; box-shadow: none; padding: 0; border: 0; }
.experience-shell #dashboard-analytics-view { max-width: 1200px; margin: 0 auto; }
.experience-shell .retro-header-text { font-size: 48px; line-height: 1.1; letter-spacing: -1.7px; text-align: left; }
.experience-shell .retro-underline-hook { display: none; }
.experience-shell .teacher-home-flow { display: block; padding: 32px 36px; margin: 28px 0 24px; min-height: 216px; border: 1px solid var(--experience-line); background: var(--accent-light, #f2f0e6); }
.experience-shell .teacher-home-flow h2 { font-size: 32px; letter-spacing: -.8px; margin: 12px 0 10px; }
.experience-shell .teacher-home-flow p { font-size: 16px; line-height: 1.5; }
.experience-shell .teacher-home-flow .role-home-eyebrow { font-size: 12px; }
.experience-shell .teacher-home-flow .role-home-flow-actions { margin-top: 20px; display: block; }
.experience-shell .teacher-home-flow .role-home-primary { width: auto; min-width: 220px; font-size: 14px; min-height: 48px; }
.experience-shell .experience-support-grid { display: grid; grid-template-columns: 3fr 2fr; gap: 24px; margin-bottom: 32px; }
.experience-shell .experience-card { padding: 24px; background: var(--bg-surface, #fff); border: 1px solid var(--experience-line); border-radius: 12px; min-width: 0; }
.experience-shell .experience-card h2 { font-size: 24px; font-weight: 700; line-height: 1.3; margin: 8px 0 16px; letter-spacing: -.5px; }
.experience-shell .experience-card p { font-size: 14px; line-height: 1.6; color: var(--heading-ink-soft, #52636d); }
.experience-shell .experience-card .role-home-eyebrow { color: var(--heading-accent, #76682b); font-size: 12px; }
.experience-shell .experience-home-list { display: grid; gap: 0; }
.experience-shell .experience-home-list button { padding: 16px 0; text-align: left; border-top: 1px solid var(--experience-line); display: grid; gap: 5px; width: 100%; min-height: 44px; }
.experience-shell .experience-home-list button:first-child { border-top: 0; }
.experience-shell .experience-home-list strong { font-size: 16px; overflow-wrap: anywhere; }
.experience-shell .experience-home-list span { font-size: 12px; color: var(--heading-ink-soft, #52636d); }
.experience-shell .experience-home-list .experience-link { color: var(--heading-accent, #76682b); font-size: 14px; font-weight: 700; }
.experience-shell .experience-classroom-label { font-size: 24px; margin: 32px 0 16px; font-weight: 700; }
.experience-shell #dashboard-analytics-view > div > div:first-child { align-items: flex-start; margin-bottom: 0; }
.experience-shell #dashboard-analytics-view .dash-actions { margin: 0; }
.experience-shell #teacher-home-class-context { margin-top: 12px; }
.experience-shell .experience-home-subtitle { margin-top: 12px; font-size: 16px; line-height: 1.5; color: var(--heading-ink-soft, #52636d); }
.experience-shell .experience-page-heading { margin-bottom: 28px; max-width: 760px; }
.experience-shell .experience-page-heading h1 { font-size: 36px; line-height: 1.15; font-weight: 750; letter-spacing: -1px; margin: 8px 0 14px; }
.experience-shell .experience-page-heading > p:last-child { font-size: 16px; line-height: 1.6; color: var(--heading-ink-soft, #52636d); }
.experience-shell .experience-collection-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 24px; }
.experience-shell .experience-collection-toolbar label { display: grid; gap: 8px; font-size: 14px; font-weight: 650; }
.experience-shell .experience-collection-toolbar select { min-height: 48px; min-width: 220px; border: 1px solid var(--experience-line); border-radius: 8px; padding: 10px 12px; background: var(--bg-surface); font-size: 16px; }
.experience-shell #experience-journey-list-status { margin-bottom: 12px; font-size: 14px; }
.experience-shell #experience-journey-more { margin-top: 20px; }
.experience-shell .experience-collection-toolbar input { min-height: 48px; border: 1px solid var(--experience-line); border-radius: 8px; padding: 10px 12px; font-size: 16px; background: var(--bg-surface); }
.experience-shell .experience-students-list { display: grid; gap: 12px; }
.experience-shell .experience-student-row { display: flex; gap: 16px; align-items: center; text-align: left; padding: 20px; border: 1px solid var(--experience-line); background: var(--bg-surface); border-radius: 12px; }
.experience-shell .experience-student-initial { display: grid; place-items: center; height: 44px; width: 44px; flex-shrink: 0; border-radius: 50%; background: var(--accent-light, #f2f0e6); font-weight: 700; color: var(--heading-accent); }
.experience-shell .experience-student-copy { display: grid; gap: 4px; flex: 1; }
.experience-shell .experience-student-copy strong { font-size: 18px; overflow-wrap: anywhere; }
.experience-shell .experience-student-copy > span { font-size: 14px; color: var(--heading-ink-soft); }
.experience-shell .experience-student-row .experience-link { font-size: 14px; font-weight: 650; color: var(--heading-accent); }
.experience-shell #journey-editor-view > .experience-authoring { max-width: 1180px; margin: 0 auto; background: transparent; border: 0; box-shadow: none; padding: 0; }
.experience-shell #journey-editor-title { font-size: 34px; line-height: 1.2; letter-spacing: -.7px; }
.experience-shell .experience-writing, .experience-shell .experience-appearance, .experience-shell .experience-publication-review, .experience-shell .experience-personal-pdf { margin-top: 24px; padding: 28px; border: 1px solid var(--experience-line); border-radius: 12px; background: var(--bg-surface); }
.experience-shell .experience-writing > h3, .experience-shell .experience-publication-review > h3, .experience-shell .experience-personal-pdf > h3 { font-size: 24px; font-weight: 700; margin-bottom: 12px; }
.experience-shell .experience-writing > p, .experience-shell .experience-publication-review > p { font-size: 16px; line-height: 1.6; color: var(--heading-ink-soft); margin-bottom: 20px; }
.experience-shell .experience-writing #journey-title-input { min-height: 48px; font-size: 18px; margin-bottom: 24px; }
.experience-shell .experience-writing textarea:not(.hidden) { font-size: 16px; line-height: 1.6; min-height: 160px; }
.experience-shell .experience-journey-card { box-shadow: none; }
.experience-shell .experience-journey-card > div:first-child { background: var(--bg-primary) !important; }
.experience-shell .experience-journey-card .grid > div:first-child { background: var(--bg-primary); }
.experience-shell .experience-journey-card .grid > div > p:first-child { font-size: 12px; color: var(--heading-ink-soft); }
.experience-shell .experience-journey-card .je-reset { font-size: 14px; min-height: 44px; color: var(--heading-accent); }
.experience-shell .teacher-pilot-reference-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; min-width: 0; max-width: 100%; }
.experience-shell .experience-appearance > summary { font-size: 18px; font-weight: 700; min-height: 44px; cursor: pointer; }
.experience-shell .experience-appearance-body { display: grid; gap: 20px; margin-top: 16px; }
.experience-shell .experience-appearance-body label { font-size: 14px; }
.experience-shell .experience-publication-stages { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 20px; }
.experience-shell .experience-publication-stage { padding: 20px; border: 1px solid var(--experience-line); border-radius: 10px; min-width: 0; }
.experience-shell .experience-publication-stage h4 { font-size: 18px; font-weight: 700; margin-bottom: 12px; }
.experience-shell .experience-publication-stage > p { font-size: 14px; line-height: 1.6; color: var(--heading-ink-soft); margin-bottom: 16px; }
.experience-shell .experience-publication-stage > button { min-height: 48px; margin-top: 20px; width: 100%; }
.experience-shell .experience-publication-stage #journey-publication-audience { background: transparent; border: 0; padding: 0; }
.experience-shell .experience-publication-stage > label { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.5; margin-top: 16px; }
.experience-shell .experience-personal-pdf > button { margin-right: 12px; margin-top: 12px; }
.experience-shell #journey-editor-view .space-x-4 { display: flex; flex-wrap: wrap; gap: 12px; }
.experience-shell #journey-editor-view .space-x-4 > * { margin-left: 0; }
.experience-shell #journey-builder-view > .bg-white { box-shadow: none; border: 1px solid var(--experience-line); }
.experience-shell #journey-builder-view input[type="text"] { font-size: 16px; min-height: 48px; }
.experience-shell #journey-rubric-editor { overflow-x: auto; max-width: 100%; }
.experience-shell #parent-journey-reader > div { max-width: 1100px; border-radius: 16px; box-shadow: 0 12px 48px rgb(23 45 58 / 18%); }
.experience-shell #parent-journey-reader-title { font-size: 28px; line-height: 1.25; overflow-wrap: anywhere; }
.experience-shell #parent-journey-reader-close { width: 44px; height: 44px; flex-shrink: 0; }
.experience-shell #parent-journey-reader-page-text { font-size: 17px; line-height: 1.7; max-width: 72ch; margin-inline: auto; }
.experience-shell #dashboard-roster-column .dash-actions { margin-top: 24px; padding: 0; background: transparent; border: 0; }
.experience-shell #dashboard-roster-column { display: none; }
.experience-shell #dashboard-learning-overview { grid-column: 1 / -1; }
.experience-shell .experience-home-class { display: grid; gap: 8px; margin-top: 20px; font-size: 14px; font-weight: 650; max-width: 340px; }
.experience-shell .experience-home-class #dashboard-classroom-filter { margin: 0; min-height: 44px; font-size: 14px; }
.experience-shell .experience-students-shortcut { margin: 4px 24px 28px 0; min-height: 44px; font-weight: 700; color: var(--heading-accent); }
.experience-shell #experience-students-view .dash-actions { margin-top: 28px; padding: 0; border: 0; background: transparent; }
.experience-shell #school-home-shortcuts { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 20px; margin-top: 12px; padding: 24px; }
.experience-shell #school-home-shortcuts > div:first-child { min-width: 0; }
.experience-shell #school-home-shortcuts > div:first-child > p:not(.role-home-eyebrow) { max-width: 48ch; }
.experience-shell #school-home-shortcuts .role-home-shortcut-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 13rem)); justify-content: start; gap: 12px; width: 100%; }
.experience-shell #school-home-shortcuts .role-home-shortcut-actions > button { width: 100%; min-width: 0; white-space: normal; }
.experience-shell #school-home-shortcuts :is(#school-home-classes-action, #school-home-settings-action) { display: none; }
.experience-shell #school-home-shortcuts .experience-home-quick-links { display: block; grid-column: auto; margin-top: 0; }
.experience-shell #school-home-shortcuts .experience-home-quick-links h3 { margin-bottom: 8px; }
.experience-shell #school-home-shortcuts .experience-home-quick-link-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); max-width: 100%; margin: 0; gap: 8px; }
.experience-shell #school-home-shortcuts .experience-home-quick-link { min-height: 44px; }
.experience-shell .parent-journey-card { align-items: flex-start; }
.experience-shell .parent-journey-card .truncate { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.experience-shell #parent-dashboard-view #parent-view-skills-grid > .parent-journey-card:not(:first-child) { display: none; }
.experience-shell .experience-family-all { margin-top: 20px; min-height: 44px; }
.experience-shell #parent-student-view { margin-bottom: 24px; }
.experience-shell #parent-student-view > div:first-child { padding: 28px; box-shadow: none; border: 1px solid var(--experience-line); }
.experience-shell #parent-child-select { min-height: 44px; max-width: 100%; }
.experience-shell #experience-admin-home-switch { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.experience-shell #experience-admin-home-switch:has(button.hidden) { display: none; }
.experience-shell #experience-admin-home-context { font-weight: 700; }
.experience-shell .experience-reader-formats { display: flex; gap: 8px; padding: 0 20px 16px; }
.experience-shell .experience-reader-formats button { min-height: 44px; border: 1px solid var(--experience-line); border-radius: 8px; padding: 8px 14px; font-weight: 600; }
.experience-shell .experience-reader-formats button[aria-pressed="true"] { background: var(--accent-light, #f2f0e6); color: var(--text-dark, #172d3a); }
.experience-shell .experience-reader-formats button:disabled { opacity: .5; cursor: default; }
.experience-shell .experience-reader-format-note { padding: 0 20px 16px; font-size: 14px; line-height: 1.5; }
.experience-shell #parent-journey-reader[data-reading-mode="text"] #parent-journey-reader-canvas { display: none !important; }
.experience-shell #parent-journey-reader[data-reading-mode="print"] #parent-journey-reader-text { display: none !important; }
.experience-shell #parent-journey-reader-text { margin-top: 0; padding: 24px; box-shadow: none; }
.experience-shell #student-detail-view > div { padding: 0; background: transparent; box-shadow: none; }
.experience-learning-moments { margin-bottom: 24px; }
.experience-learning-moments > label { display: grid; gap: 8px; margin: 20px 0 12px; font-weight: 600; }
.experience-learning-moments input { border: 1px solid var(--experience-line); border-radius: 8px; padding: 12px; width: 100%; min-height: 44px; background: var(--bg-surface, #fff); }
#experience-moment-list article { border-top: 1px solid var(--experience-line); }
#experience-moment-list summary { display: grid; gap: 6px; padding: 20px 0; cursor: pointer; min-height: 44px; }
#experience-moment-list time, .experience-moment-category { font-size: 13px; color: var(--heading-ink-soft, #52636d); }
#experience-moment-list strong { font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.experience-moment-body { padding-bottom: 20px; }
.experience-moment-body > p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 16px; line-height: 1.65; }
.experience-moment-byline { margin-top: 12px; }
.experience-moment-photos { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.experience-moment-photos img { max-width: min(100%, 320px); max-height: 320px; object-fit: contain; border-radius: 8px; }
.experience-moment-photos figure { margin: 0; max-width: 100%; }
#experience-progress-skills { border: 1px solid var(--experience-line); border-radius: 12px; background: var(--bg-surface, #fff); padding: 20px; margin-top: 24px; }
#experience-progress-skills > summary { min-height: 44px; font-size: 18px; font-weight: 700; cursor: pointer; }
.experience-shell #student-detail-view #build-journey-btn,
.experience-shell #student-detail-view #contact-parents-btn { background: var(--bg-surface, #fff); color: var(--text-dark, #172d3a); border: 1px solid var(--experience-line); }
.experience-shell #student-detail-view #edit-student-btn { background: transparent; color: var(--text-dark, #172d3a); border: 1px solid transparent; }
.experience-shell #parent-forms-card { box-shadow: none; border: 1px solid var(--experience-line); padding: 24px; border-radius: 12px; }
.experience-shell #parent-forms-card > [role="heading"] { font-size: 24px; font-weight: 700; }
.experience-form-filter { display: flex; gap: 12px; align-items: center; margin: 16px 0; }
.experience-form-filter select { min-height: 44px; border: 1px solid var(--experience-line); border-radius: 8px; padding: 8px 12px; }
#family-forms-status { margin: 12px 0; }
#parent-forms-list > div { padding: 16px; margin: 12px 0; }
#parent-forms-list .btn { min-height: 44px; }
.experience-file-reader > div { display: flex; flex-direction: column; background: var(--bg-surface, #fff); border-radius: 12px; max-height: 92dvh; width: min(100% - 32px, 1000px); overflow: hidden; }
.experience-file-reader header { display: flex; justify-content: space-between; gap: 20px; padding: 20px; border-bottom: 1px solid var(--experience-line); }
.experience-file-reader header > div { min-width:0; }
#family-form-preview-child { overflow-wrap:anywhere; }
.experience-file-reader h2 { font-size: 24px; font-weight: 700; overflow-wrap: anywhere; }
.experience-file-reader header button { width: 44px; height: 44px; font-size: 28px; flex-shrink: 0; }
#family-form-preview-status { padding: 16px 20px; }
#family-form-preview-pages { overflow: auto; padding: 16px; min-height: 0; }
#family-form-preview-pages canvas, #family-form-preview-pages img { display: block; max-width: 100%; margin: 0 auto; }
.family-return-details { display:grid; grid-template-columns: minmax(100px, 140px) minmax(0, 1fr); gap:12px 20px; margin:20px 0; font-size:16px; }
.family-return-details dt { font-weight:700; }
.family-return-details dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.family-return-artifact h3, #family-form-preview-pages section h3 { font-size:18px; font-weight:700; margin:16px 0; }
.family-return-artifact p, #family-form-preview-pages > p, #family-form-preview-pages section p { font-size:16px; overflow-wrap:anywhere; }
.family-return-actions, .family-return-success { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:16px 0; }
.family-return-success p { flex:1 1 220px; font-size:16px; overflow-wrap:anywhere; }
.family-thread-identity-retry { grid-column:2; justify-self:start; }
#family-chat-identity-status { min-width:0; }
@media(max-width:640px) {
 .family-return-details { grid-template-columns:minmax(0,1fr); gap:4px; }
 .family-return-details dd { margin-bottom:12px; }
 .family-form-actions .btn, .family-return-actions .btn { width:100%; white-space:normal; }
}
.experience-form-page-text { font-size: 17px; line-height: 1.65; white-space: pre-wrap; padding: 20px; overflow-wrap: anywhere; }
@media(max-width:640px) { .experience-file-reader > div { width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; } #parent-forms-list > div > div:last-child { width: 100%; flex-wrap: wrap; } }
.experience-shell #corner-watermark-container { display: none; }
.experience-shell button:focus-visible, .experience-shell a:focus-visible, .experience-shell summary:focus-visible { outline: 3px solid var(--v1-focus, #76682b); outline-offset: 3px; }
@media (max-width: 1023px) {
    .experience-shell > header { padding: 12px 20px; }
    .experience-shell > header > .experience-identity { min-height: 52px; justify-content: space-between !important; flex-wrap: nowrap; gap: 12px; }
    .experience-wordmark { font-size: 20px; padding-right: 0; border: 0; }
    .experience-shell .experience-school { flex-wrap: wrap; gap: 6px 10px; }
    .experience-shell #nav-school-name { width: 100%; max-width: none; font-size: 12px; }
    .experience-shell #nav-school-logo { display: none; }
    .experience-shell #experience-menu-toggle { display: block; }
    .experience-shell .experience-rail { display: none; position: static; width: 100%; min-height: 0; padding: 20px; border-right: 0; border-bottom: 1px solid var(--experience-line); }
    .experience-shell[data-menu-open="true"] .experience-rail { display: block; }
    .experience-shell > main, .experience-shell > section:not(.hidden) { margin-left: 0; width: 100%; padding: 28px 20px !important; }
    .experience-shell .app-primary-nav { display: flex; grid-template-columns: none; }
    .experience-shell .app-primary-nav > .nav-menu-group { width: 100%; }
    .experience-shell .nav-menu-items { position: static; max-height: none; max-width: none; }
    .experience-shell .retro-header-text { font-size: 36px; letter-spacing: -1px; }
    .experience-shell .experience-support-grid { grid-template-columns: 1fr; gap: 20px; }
    .experience-shell .teacher-home-flow { padding: 24px; min-height: 0; }
    .experience-shell .teacher-home-flow h2 { font-size: 28px; }
    .experience-shell .teacher-home-flow .role-home-primary { width: 100%; font-size: 14px; }
    .experience-shell .experience-card { padding: 20px; }
    .experience-shell .experience-collection-toolbar > * { width: 100%; }
    .experience-shell .experience-page-heading h1 { font-size: 30px; }
    .experience-shell .experience-student-row { flex-wrap: wrap; }
    .experience-shell .experience-student-row .experience-link { width: 100%; padding-left: 60px; }
    .experience-shell #school-home-shortcuts { padding: 20px; }
    .experience-shell #school-home-shortcuts .role-home-shortcut-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .experience-shell #school-home-shortcuts .role-home-shortcut-actions > button:last-child { grid-column: auto; }
    .experience-shell .experience-publication-stages { grid-template-columns: 1fr; }
    .experience-shell .experience-writing, .experience-shell .experience-appearance, .experience-shell .experience-publication-review, .experience-shell .experience-personal-pdf { padding: 20px; }
    .experience-shell #journey-editor-title { font-size: 28px; }
    .experience-shell #journey-editor-view > .experience-authoring { padding: 0 !important; }
    .experience-shell #parent-journey-reader > div { margin: 0; border-radius: 0; width: 100%; max-height: 100dvh; height: 100dvh; }
    .experience-shell #parent-journey-reader-title { font-size: 22px; }
    .experience-shell #parent-journey-reader-page-wrap { padding: 12px; }
    .experience-shell .parent-journey-card { flex-direction: column; }
    .experience-shell .parent-journey-card > button { width: 100%; min-height: 44px; }
}
@media (max-width: 359px) {
    .experience-shell > header { padding-inline: 16px; }
    .experience-shell > main, .experience-shell > section:not(.hidden) { padding-inline: 16px !important; }
    .experience-shell .experience-account { gap: 6px; }
    .experience-shell .teacher-home-flow { padding: 20px; }
}
/* Conversations are a primary task; activity reports remain separate. */
.experience-shell .experience-communication-heading { background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; margin-bottom:28px; }
.experience-shell .experience-communication-heading .retro-header-text { font-size:38px; letter-spacing:-1px; }
.experience-shell .experience-communication-heading .retro-header-container p { font-size:16px; font-weight:400; letter-spacing:0; text-transform:none; margin-top:12px; color:var(--heading-ink-soft,#52636d)!important; }
.experience-shell .experience-conversation-browser { border:1px solid var(--experience-line); box-shadow:none!important; border-radius:12px; padding:24px; }
.experience-shell .experience-conversation-toolbar { display:block; margin-bottom:20px; }
.experience-shell .experience-conversation-toolbar h2 { font-size:24px; line-height:1.3; letter-spacing:-.4px; }
.experience-conversation-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.experience-shell .experience-conversation-actions button:not(.v1-action) { min-height:44px; font-style:normal; text-transform:none; background:var(--accent-light,#f2f0e6)!important; color:var(--text-dark,#172d3a)!important; border:1px solid var(--experience-line); }
.experience-conversation-search { display:block; font-size:14px; font-weight:600; max-width:560px; margin-bottom:12px; }
.experience-conversation-search input { display:block; width:100%; min-height:44px; border:1px solid var(--experience-line); border-radius:8px; padding:10px 12px; margin-top:8px; background:var(--bg-surface,#fff); }
#experience-conversation-status { font-size:14px; margin:12px 0; }
.experience-shell #user-list > [data-partner-uid] { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:16px; border:1px solid var(--experience-line)!important; background:var(--bg-surface,#fff); }
.experience-shell #user-list > [data-partner-uid] > div:first-child { display:flex; flex-wrap:wrap; gap:8px; min-width:0; margin:0; }
.experience-shell #user-list .chat-partner-name { overflow-wrap:anywhere; font-size:16px; }
.experience-shell #user-list > [data-partner-uid] > div:first-child > * { margin-left:0!important; }
.experience-shell #user-list > [data-partner-uid] button { min-height:44px; min-width:72px; padding:10px 14px; border-radius:8px; background:var(--accent-primary,#76682b); color:var(--text-light,#fff); font-size:14px; }
.experience-shell #user-list .msg-section-head { padding:24px 0 8px; font-size:12px; }
.experience-communication-reports { border:1px solid var(--experience-line); border-radius:12px; background:var(--bg-surface,#fff); padding:20px 24px; margin:24px 0; }
.experience-communication-reports > summary { font-size:20px; font-weight:700; cursor:pointer; min-height:44px; padding:10px 0; }
.experience-communication-reports > p { margin:12px 0 24px; line-height:1.6; }
.experience-shell .experience-communication-reports > div { box-shadow:none!important; padding:20px 0!important; border-top:1px solid var(--experience-line); margin:0!important; }
.experience-shell .experience-conversation { border:1px solid var(--experience-line); box-shadow:none!important; display:flex; flex-direction:column; min-height:540px; max-height:calc(100dvh - 156px); border-radius:12px; }
.experience-shell .experience-conversation > div:first-child { flex-wrap:wrap; gap:12px; }
.experience-shell #chat-with-user { font-size:24px; line-height:1.35; }
.experience-shell #message-list { min-height:160px; height:auto; flex:1 1 auto; overflow:auto; }
.experience-shell #message-form { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:8px; }
.experience-shell #message-form textarea { min-width:0; width:100%; min-height:64px; font-size:16px; }
.experience-shell #message-form button { min-height:44px; margin:0; }
.experience-shell #attach-file-btn { width:44px; padding:10px; }
.experience-shell #send-message-btn:not(.v1-action) { background:var(--accent-primary,#76682b)!important; color:var(--text-light,#fff)!important; border-radius:8px; }
.experience-shell #announcements-list > div { border:1px solid var(--experience-line); box-shadow:none!important; border-radius:12px; }
@media(max-width:640px) {
 .experience-shell .experience-conversation-browser { padding:20px; }
 .experience-shell .experience-communication-heading .retro-header-text { font-size:30px; }
 .experience-shell .experience-conversation-toolbar h2 { font-size:22px; }
 .experience-shell .experience-conversation-actions { flex-direction:column; }
 .experience-shell #user-list > [data-partner-uid] { grid-template-columns:1fr; gap:12px; }
 .experience-shell #user-list > [data-partner-uid] > button { justify-self:start; }
 .experience-shell #user-list > [data-partner-uid] > div:last-child:not(:first-child) { flex-wrap:wrap; }
 .experience-shell .experience-conversation { min-height:calc(100dvh - 158px); max-height:none; }
 .experience-shell #chat-with-user { font-size:22px; }
 .experience-shell #chat-view { padding-top:20px!important; padding-bottom:20px!important; }
 .experience-shell #message-list { min-height:180px; max-height:45dvh; }
 .experience-shell #message-form { grid-template-columns:44px minmax(0,1fr); }
 .experience-shell #send-message-btn { grid-column:2; justify-self:end; min-width:84px; }
 .experience-communication-reports { padding:16px 20px; }
}

/* Keep avatars, names and role metadata aligned without crowding actions. */
.experience-shell #user-list > [data-partner-uid] > div:first-child { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; position:relative; }
.experience-shell #user-list > [data-partner-uid] > div:first-child > :first-child { grid-column:1; grid-row:1; }
.experience-shell #user-list .chat-partner-name { grid-column:2; grid-row:1; min-width:0; }
.experience-shell #user-list .unread-dot { grid-column:1; grid-row:1; justify-self:end; align-self:start; }
.experience-shell #user-list > [data-partner-uid] > div:first-child > span:not(.chat-partner-name):not(.unread-dot):not(:first-child) { grid-column:2; justify-self:start; }
/* Planning leads with the selected week; month picking and exports are secondary. */
.experience-shell #planning-view .lesson-planning-layout { display:block; }
.experience-shell .experience-week-planner { border:1px solid var(--experience-line); border-radius:12px; box-shadow:none!important; padding:24px; }
.experience-week-planner > h2 { font-size:24px; font-weight:700; margin-bottom:20px; }
.experience-shell #planning-view .lesson-toolbar { gap:12px; margin-bottom:16px; }
.experience-shell #planning-view .lesson-toolbar button,.experience-shell #planning-view .lesson-toolbar select,.experience-shell #planning-view .lesson-toolbar input { min-height:44px; }
.experience-planning-tools { margin-top:20px; border-top:1px solid var(--experience-line); padding-top:12px; }
.experience-planning-tools > summary,.experience-planning-month > summary,.experience-planning-context > summary { min-height:44px; padding:12px 0; font-weight:600; cursor:pointer; }
.experience-planning-tools .lesson-toolbar { margin-top:16px; }
.experience-planning-month { margin-top:24px; border:1px solid var(--experience-line); border-radius:12px; padding:12px 24px; background:var(--bg-surface,#fff); }
.experience-shell #planning-calendar-panel { max-width:380px; padding:16px 0; border:0; overflow:visible; }
.experience-shell #planning-calendar-panel > .experience-planning-context { display:block; }
.lesson-block-notes,.lesson-day-empty { display:none; }
@media(max-width:900px) {
 .experience-shell .experience-week-planner { padding:20px; }
 .experience-shell #planning-view .lesson-week-scroll { overflow:visible; max-height:none; border:0; }
 .experience-shell #planning-view .lesson-week-grid { display:block; min-width:0; }
 .experience-shell #planning-view .lesson-time-column { display:none; }
 .experience-shell #planning-view .lesson-day-column { border:1px solid var(--experience-line); border-radius:10px; margin-bottom:16px; overflow:hidden; }
 .experience-shell #planning-view .lesson-day-heading { position:static; min-height:52px; height:auto; justify-content:flex-start; padding:14px 16px; font-size:16px; text-align:left; }
 .experience-shell #planning-view .lesson-day-body { height:auto!important; min-height:0; background:none; border:0; padding:12px; display:grid; gap:12px; }
 .experience-shell #planning-view .lesson-block { position:static; top:auto!important; left:auto!important; width:100%!important; height:auto!important; min-height:72px; padding:12px 16px; font-size:16px; line-height:1.5; }
 .experience-shell #planning-view .lesson-block-time { font-size:14px; margin-bottom:4px; }
 .experience-shell #planning-view .lesson-block-notes { display:block; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; margin-top:8px; }
 .experience-shell #planning-view .lesson-day-empty { display:block; font-size:14px; padding:8px 4px; color:var(--heading-ink-soft,#52636d); }
 .experience-shell #planning-view .lesson-toolbar label { width:100%; display:block; }
 .experience-shell #planning-view #lesson-class-select { display:block; width:100%; margin-top:8px; }
 .experience-shell #planning-view #lesson-week-label { order:-1; flex-basis:100%; text-align:left; font-size:18px; }
 .experience-shell #planning-view #lesson-add-btn { width:100%; }
 .experience-shell #planning-view .experience-planning-tools .lesson-toolbar { flex-direction:column; align-items:stretch; }
 .experience-planning-month { padding:12px 20px; }
}

/* WebKit can include native select popup width in a narrow label's scroll area.
   Preserve room for the visible focus ring while containing that overflow. */
@media(max-width:900px) { .experience-shell #planning-view .lesson-toolbar label { overflow:hidden; padding:4px; } }
/* School dates and the selected-day agenda keep the same category and audience. */
.experience-shell .experience-calendar-card { box-shadow:none!important; border:1px solid var(--experience-line); border-radius:12px; padding:24px; }
.experience-calendar-card > label { display:block; margin:20px 0; }
.experience-calendar-card #calendar-category-filter { min-height:44px; margin-left:12px; }
.experience-calendar-list-heading { font-size:22px; font-weight:700; margin:28px 0 16px; }
.experience-shell .calendar-list-event { font-size:16px; line-height:1.6; padding:12px 0; border-bottom:1px solid var(--experience-line); }
.experience-calendar-tools { margin-top:24px; border-top:1px solid var(--experience-line); padding-top:12px; }
.experience-calendar-tools > summary { min-height:44px; font-weight:600; cursor:pointer; padding:12px 0; }
.experience-calendar-tools .lesson-toolbar { margin-top:16px; }
.experience-shell .experience-calendar-day .calendar-day-dialog { border-radius:12px; max-height:calc(100dvh - 32px); overflow:auto; }
.experience-calendar-day .calendar-day-dialog > div:first-child { position:sticky; top:0; z-index:2; background:var(--bg-surface,#fff); gap:16px; }
.experience-calendar-day #calendar-day-title { font-size:24px; line-height:1.3; }
.experience-calendar-day #close-calendar-day-modal-btn { min-width:44px; min-height:44px; flex:none; }
.experience-calendar-day .calendar-event-card { border:1px solid var(--experience-line); border-left:4px solid; background:var(--bg-surface,#fff); padding:16px; margin-bottom:16px; }
.experience-calendar-day .calendar-event-card strong { font-size:18px; line-height:1.4; }
.experience-calendar-day .calendar-event-meta { font-size:14px; margin:8px 0; }
.experience-calendar-day .calendar-event-notes { font-size:16px; line-height:1.6; white-space:pre-wrap; }
.experience-calendar-day button,.experience-calendar-day input:not([type=checkbox]):not([type=color]),.experience-calendar-day select { min-height:44px; }
.calendar-day-empty { padding:16px 0; font-size:16px; line-height:1.6; }
@media(max-width:640px) {
 .experience-shell .experience-calendar-card { padding:16px; }
 .experience-calendar-card #calendar-category-filter { display:block; width:100%; margin:8px 0 0; }
 .experience-calendar-card #calendar-month-label { min-width:0!important; }
 .experience-calendar-card > div:first-child > div:last-child { width:100%; justify-content:space-between; }
 .experience-shell .experience-calendar-day .calendar-day-dialog { width:100%; margin:0; border-radius:0; max-height:100dvh; height:100dvh; }
 .experience-calendar-day #calendar-day-title { font-size:22px; }
 .experience-calendar-day .calendar-event-fields input,.experience-calendar-day .calendar-event-fields textarea,.experience-calendar-day .calendar-event-fields select { font-size:16px; }
}
.experience-calendar-navigation { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin:20px 0; }
.experience-calendar-navigation label { display:block; font-size:14px; }
.experience-calendar-navigation input { display:block; min-height:44px; padding:10px 12px; border:1px solid var(--experience-line); border-radius:8px; margin-top:8px; min-width:0; max-width:100%; }
@media(max-width:640px) { .experience-calendar-navigation label { width:100%; } .experience-calendar-navigation input { width:100%; box-sizing:border-box; } }
.experience-shell .calendar-list-event { display:grid; grid-template-columns:12px 60px minmax(0,1fr) auto; gap:12px; align-items:start; }
.calendar-list-event time { font-size:14px; font-weight:600; }
.calendar-list-event .calendar-colour-swatch { margin-top:6px; }
.calendar-list-content { min-width:0; overflow-wrap:anywhere; }
.calendar-list-content strong { font-size:17px; }
.calendar-list-content .calendar-event-meta { font-size:14px; margin:6px 0; }
.calendar-list-content .calendar-event-notes { font-size:16px; line-height:1.6; white-space:pre-wrap; }
.calendar-list-event button { min-height:44px; }
@media(max-width:640px) { .experience-shell .calendar-list-event { grid-template-columns:12px minmax(0,1fr); } .calendar-list-event time { grid-column:2; } .calendar-list-event .calendar-list-content,.calendar-list-event button { grid-column:2; } .calendar-list-event button { justify-self:start; } }

@media(max-width:640px) { .experience-shell .experience-calendar-day { align-items:flex-start; padding:0; } }
.experience-calendar-navigation select { display:block; min-height:44px; border:1px solid var(--experience-line); border-radius:8px; padding:10px 12px; margin-top:8px; }
#experience-calendar-year { width:100px; }
@media(max-width:640px) { .experience-calendar-navigation { display:grid; grid-template-columns:minmax(0,1fr) 90px; align-items:end; } .experience-calendar-navigation label { min-width:0; } .experience-calendar-navigation select,.experience-calendar-navigation input { width:100%; box-sizing:border-box; } #experience-calendar-year { width:100%; } .experience-calendar-navigation button { grid-column:1 / -1; justify-self:start; } }
.experience-staff-forms-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 28px; }
.experience-form-composer,.experience-form-worklist { background:var(--bg-surface,#fff); border:1px solid var(--experience-line); border-radius:12px; padding:24px; }
#staff-form-fields { border:0; min-width:0; }
#staff-form-fields > legend,.experience-form-worklist > h2 { font-size:24px; font-weight:700; margin-bottom:20px; }
#staff-form-fields > * { margin-bottom:16px; }
#staff-form-fields label { font-size:14px; }
#staff-form-fields input:not([type=checkbox]),#staff-form-fields select { min-height:44px; }
#new-form-classes label { min-height:44px; padding:8px; overflow-wrap:anywhere; }
#staff-form-audience { font-size:14px; line-height:1.6; margin-top:10px; overflow-wrap:anywhere; }
#experience-update-composer,#experience-updates-archive { background:var(--bg-surface,#fff); border:1px solid var(--experience-line); border-radius:12px; padding:24px; }
#experience-update-composer h2,#experience-updates-archive > h2 { font-size:26px; font-weight:700; margin-bottom:16px; }
#experience-announcement-review { background:var(--bg-surface,#fff); border:1px solid var(--experience-line); border-radius:12px; padding:24px; margin-top:24px; }
#experience-announcement-review-title { font-size:26px; line-height:1.25; font-weight:700; margin:0 0 16px; }
#experience-announcement-review > p { max-width:850px; font-size:15px; line-height:1.6; margin:0 0 16px; overflow-wrap:anywhere; }
#experience-announcement-review-status { margin:16px 0; }
#experience-announcement-review-list { display:grid; gap:16px; }
#experience-announcement-review-list > article { min-width:0; border:1px solid var(--experience-line); border-radius:10px; background:var(--bg-surface,#fff); padding:16px; overflow-wrap:anywhere; }
#experience-announcement-review-list article h3 { min-width:0; margin:0; font-size:19px; line-height:1.4; font-weight:700; overflow-wrap:anywhere; }
#experience-announcement-review-list article > p { margin:8px 0 0; line-height:1.6; overflow-wrap:anywhere; }
#experience-announcement-review-list article > p:empty { display:none; }
#experience-announcement-review-list article > p.text-sm { font-size:14px; color:var(--heading-ink-soft,#52636d); }
#experience-announcement-review-list article > p.whitespace-pre-wrap { white-space:pre-wrap; color:var(--text-dark,#172d3a); }
#experience-announcement-review-list .announcement-review-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; }
#experience-announcement-review-list .announcement-review-heading > span { flex:0 0 auto; border:1px solid var(--experience-line); border-radius:999px; padding:4px 10px; font-size:13px; line-height:1.5; }
#experience-announcement-review-list article .font-semibold { font-weight:700; }
#experience-announcement-review-list article ul { margin:16px 0 0; padding:0; list-style:none; }
#experience-announcement-review-list article li { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:10px 0; border-top:1px solid var(--experience-line); overflow-wrap:anywhere; }
#experience-announcement-review-list article button { min-height:44px; }
#experience-announcement-review-list .announcement-review-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; margin-top:16px; }
#experience-announcement-review-list article form { margin-top:20px; padding-top:16px; border-top:1px solid var(--experience-line); }
#experience-announcement-review-list article form label { display:block; font-weight:600; }
#experience-announcement-review-list article form textarea { display:block; width:100%; min-height:88px; margin-top:8px; padding:12px; border:1px solid var(--experience-line); border-radius:8px; font:inherit; font-size:16px; }
#experience-announcement-review-list article form .announcement-review-actions { margin-top:12px; }
#experience-announcement-review-list article > button { margin-top:12px; }
#experience-update-composer > p { font-size:15px; line-height:1.6; max-width:850px; margin-bottom:24px; }
#announcement-fields { min-width:0; border:0; }
.experience-update-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px; }
.experience-update-layout > div { min-width:0; }
.experience-update-layout label { font-size:15px; }
.experience-update-layout input:not([type=checkbox]),.experience-update-layout textarea { font-size:16px; min-height:44px; }
.experience-update-choices { border:1px solid var(--experience-line); border-radius:8px; padding:16px; }
.experience-update-choices label { min-height:44px; padding:8px 0; overflow-wrap:anywhere; }
.experience-update-choices .text-xs,.experience-update-choices .text-\[11px\] { font-size:14px; line-height:1.5; }
.experience-update-choices .text-gray-400 { color:var(--heading-ink-soft,#52636d); }
#experience-update-audience-summary { font-size:15px; line-height:1.6; padding:16px 0; overflow-wrap:anywhere; }
.experience-update-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; padding-top:24px; border-top:1px solid var(--experience-line); }
.experience-update-actions button,#refresh-announcement-audience { min-height:44px; }
.experience-update-actions .btn-secondary { background:transparent; border:1px solid var(--experience-line); color:var(--text-dark,#172d3a); }
#discard-announcement-draft { border-color:transparent; color:var(--heading-ink-soft,#52636d); text-decoration:underline; }
.experience-update-retention { font-size:14px; line-height:1.6; margin:20px 0 0; color:var(--heading-ink-soft,#52636d); }
#announcement-publish-status,#announcement-outcome { margin:16px 0; line-height:1.6; }
.experience-update-search { display:block; max-width:640px; font-size:15px; font-weight:600; margin:16px 0; }
#experience-updates-search { display:block; width:100%; border:1px solid var(--experience-line); border-radius:8px; padding:12px; min-height:44px; margin-top:8px; }
#experience-updates-search-status { margin:12px 0; }
#announcements-list > [data-announcement-id] { border:1px solid var(--experience-line); box-shadow:none; border-radius:10px; padding:24px; margin:20px 0; }
#announcements-list .text-xs { font-size:14px; line-height:1.6; }
#announcements-list .text-gray-500 { color:var(--heading-ink-soft,#52636d); }
.announcement-dismissed-label { display:inline-block; font-size:14px; line-height:1.5; color:var(--heading-ink-soft,#52636d); border:1px solid var(--experience-line); border-radius:6px; padding:4px 8px; margin-top:8px; }
.experience-groups-heading { background:transparent!important; box-shadow:none!important; padding:0!important; margin-bottom:28px; }
.experience-groups-heading .retro-header-text { font-size:36px; font-style:normal; letter-spacing:-1px; color:var(--text-dark,#172d3a)!important; }
.experience-groups-heading .retro-header-container > p { font-size:16px; font-weight:400; text-transform:none; letter-spacing:0; margin-top:12px; color:var(--heading-ink-soft,#52636d)!important; }
.experience-groups-heading .retro-underline-hook { display:none; }
.experience-group-search { display:block; max-width:660px; font-size:15px; font-weight:600; margin:24px 0 12px; }
#experience-groups-search { display:block; margin-top:8px; padding:12px; border:1px solid var(--experience-line); border-radius:8px; width:100%; min-height:44px; }
#experience-groups-status { margin:16px 0; line-height:1.6; }
#groups-list { gap:20px; }
#groups-list > .group-folder-card,#groups-list > .group-observation-card { box-shadow:none; border:1px solid var(--experience-line); border-radius:12px; padding:24px; }
.experience-group-observation-actions { display:flex; flex-direction:column; gap:12px; }
#groups-list button,#groups-list select { min-height:44px; }
.experience-group-management { margin-top:auto; padding-top:16px; border-top:1px solid var(--experience-line); }
.experience-group-management summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:14px; font-weight:600; }
.experience-group-management label { margin:12px 0; padding:4px; overflow:hidden; }
.experience-group-management .flex { margin-top:12px; gap:12px; }
#groups-list p.text-gray-500,.group-location { color:var(--heading-ink-soft,#52636d); font-size:14px; line-height:1.6; }
#experience-group-fields { border:0; min-width:0; }
#experience-group-save-status { margin-top:16px; line-height:1.6; }
#experience-group-outcome { margin:16px 0; line-height:1.6; }
.experience-group-dialog > div > .flex:first-child { position:sticky; top:0; z-index:8; background:var(--bg-surface,#fff); }
.experience-group-dialog .group-template-actions { background:var(--bg-surface,#fff); padding:12px 0; border-top:1px solid var(--experience-line); }
.experience-group-dialog .group-template-actions button { min-height:44px; }
#group-student-list label { min-height:44px; padding:8px 0; }
#group-form button[type=submit] { min-height:44px; }
@media(max-width:640px) { .experience-groups-heading .retro-header-text { font-size:32px; } #groups-list > .group-folder-card,#groups-list > .group-observation-card { padding:20px; } #group-form input:not([type=checkbox]),#group-form select { font-size:16px; } }
#announcements-list .announcement-delete-btn { min-width:44px; min-height:44px; flex-shrink:0; }
#announcements-list h3,#announcements-list p { overflow-wrap:anywhere; }
#announcements-list .announcement-file-btn { margin:8px 8px 0 0; min-height:44px; }
#announcements-list a:has(img) { display:inline-block; min-width:44px; min-height:44px; }
@media(max-width:900px) { .experience-update-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:640px) { #experience-update-composer,#experience-updates-archive,#experience-announcement-review { padding:20px; } #experience-announcement-review-list > article { padding:16px; } #experience-announcement-review-list .announcement-review-actions { flex-direction:column; } #experience-announcement-review-list .announcement-review-actions button { width:100%; } .experience-update-actions { flex-direction:column; } .experience-update-actions button { width:100%; } #publish-announcement-btn { order:-1; } #announcements-list > [data-announcement-id] { padding:16px; } .experience-update-choices { padding:12px; } }
#staff-forms-status { margin:16px 0; line-height:1.6; }
.experience-form-search { display:block; max-width:560px; font-size:14px; font-weight:600; margin-bottom:16px; }
#staff-forms-search { display:block; width:100%; min-height:44px; margin-top:8px; padding:10px 12px; border:1px solid var(--experience-line); border-radius:8px; }
#staff-forms-search-status { margin:12px 0; }
.experience-staff-forms #forms-admin-list > [data-form-id] { padding:20px; margin:16px 0; border:1px solid var(--experience-line); border-radius:10px; }
.experience-staff-forms #forms-admin-list .text-xs { font-size:14px; line-height:1.5; }
.experience-staff-forms #forms-admin-list button { min-height:44px; }
.experience-staff-forms #forms-admin-list .text-gray-400,.experience-staff-forms #forms-admin-list .text-gray-500 { color:var(--heading-ink-soft,#52636d); }
.experience-staff-forms .form-track-panel > .space-y-1 > div { padding:14px 0; }
.experience-staff-forms .form-track-panel .flex.items-center { flex-wrap:wrap; }
@media(max-width:640px) {
 .experience-form-composer,.experience-form-worklist { padding:20px; }
 .experience-staff-forms-actions { flex-direction:column; }
 .experience-staff-forms-actions button { width:100%; }
 #staff-form-fields input:not([type=checkbox]),#staff-form-fields select,#staff-form-fields textarea { font-size:16px; }
 #staff-form-fields > .grid > div { min-width:0; overflow:hidden; padding:4px; }
 .experience-staff-forms .form-track-panel .flex.items-center > div { max-width:100%; overflow-wrap:anywhere; }
 .experience-staff-forms #forms-admin-list > [data-form-id] { padding:16px; }
}

/* Attendance uses the original controls and marking coordinator in one classroom destination. */
.experience-attendance-view { max-width:1120px; margin:0 auto; }
.experience-attendance-heading { margin-bottom:28px; }
.experience-attendance-heading h1 { font-size:36px; font-weight:750; letter-spacing:-1px; margin:12px 0; }
.experience-attendance-heading > p:last-of-type { color:var(--heading-ink-soft,#52636d); line-height:1.6; }
.experience-attendance-class { display:block; max-width:400px; margin-top:24px; font-weight:600; }
.experience-attendance-class select { display:block; width:100%; margin-top:8px; padding:12px; min-height:44px; border:1px solid var(--experience-line); border-radius:8px; background:white; }
#experience-attendance-view #attendance-widget { background:white; border:1px solid var(--experience-line); padding:24px; }
#experience-attendance-view #attendance-body { padding:0; }
.experience-attendance-controls { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:end; gap:24px; margin-bottom:24px; }
.experience-attendance-controls label,.experience-attendance-session > span { display:block; font-weight:600; }
.experience-attendance-controls input { margin:8px 0 0; min-height:44px; padding:10px; width:100%; min-width:0; }
.experience-attendance-session > div { display:flex; margin:8px 0 0; }
.experience-attendance-session button,.experience-attendance-days button { min-height:44px; min-width:44px; }
#experience-attendance-view #attendance-hint { font-size:14px; line-height:1.6; margin-bottom:16px; }
#experience-attendance-view #attendance-summary { font-size:14px; margin-bottom:16px; line-height:1.6; }
#experience-attendance-view #attendance-save-status { font-size:14px; line-height:1.6; }
#experience-attendance-view .attendance-row { min-height:64px; padding:16px; gap:16px; flex-wrap:wrap; }
#experience-attendance-view .attendance-student-name { white-space:normal; overflow-wrap:anywhere; flex:1 1 200px; }
#experience-attendance-view .attendance-row > span:last-child { white-space:normal; }
.experience-attendance-export { border-top:1px solid var(--experience-line); margin-top:28px; padding-top:20px; }
.experience-attendance-export summary { cursor:pointer; font-weight:600; padding:8px 0; }
.experience-attendance-export p { margin-top:12px; color:var(--heading-ink-soft,#52636d); }
#experience-attendance-view #attendance-export-btn { width:auto; min-height:44px; }
@media(max-width:640px){.experience-attendance-heading h1 {font-size:32px;} #experience-attendance-view #attendance-widget {padding:20px;} .experience-attendance-controls {grid-template-columns:minmax(0,1fr) auto;gap:16px;} .experience-attendance-days {grid-column:1/-1;} .experience-attendance-controls input,.experience-attendance-class select {font-size:16px;} #experience-attendance-view .attendance-row {gap:8px;} }

#experience-attendance-view #attendance-toggle { display:none!important; }

@media(max-width:380px){.experience-attendance-controls {grid-template-columns:minmax(0,1fr);} .experience-attendance-session {width:max-content;} }

.experience-framework-heading {padding:0!important;box-shadow:none!important;background:transparent!important;margin-bottom:28px;}
.experience-framework-heading .retro-header-text {font-size:36px;font-style:normal;letter-spacing:-1px;}
.experience-framework-heading .retro-header-container p {font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.6;color:var(--heading-ink-soft,#52636d)!important;margin:12px 0;}
.experience-framework-heading .retro-underline-hook,.experience-framework-heading .btn-divider {display:none;}
.experience-framework-browse {padding:24px!important;box-shadow:none!important;border:1px solid var(--experience-line);}
#skills-view select,#skills-view input {min-height:44px;max-width:100%;min-width:0;}
#skills-view #framework-picker-wrap,#skills-view #parent-framework-picker-wrap {width:100%;align-items:stretch;flex-direction:column;margin-top:16px;}
#skills-view .core-skill-header {display:block;width:100%;padding:20px;text-align:left;background:white;color:var(--text-dark,#172d3a);min-height:72px;}
#skills-view .core-skill-header strong {display:block;font-size:20px;overflow-wrap:anywhere;}
#skills-view .core-skill-header > span {display:block;margin-top:8px;font-size:14px;line-height:1.5;color:var(--heading-ink-soft,#52636d);}
#skills-view .aligned-skill-link,#skills-view .core-summary-continuum-btn {min-height:44px;white-space:normal;text-align:left;}
#skills-view .micro-skill-chip {min-height:36px;}
.experience-skill-management {padding:12px 20px;border-bottom:1px solid var(--experience-line);}
.experience-skill-management summary,.experience-framework-tools > summary {cursor:pointer;font-weight:600;min-height:44px;padding:12px 0;}
.experience-skill-management-actions,.experience-framework-actions {display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;}
.experience-skill-management-actions .drag-handle {color:var(--heading-ink-soft,#52636d);}
.experience-framework-tools {border:1px solid var(--experience-line);border-radius:12px;background:white;padding:12px 24px;margin-top:20px;}
.experience-framework-tools > p {line-height:1.6;color:var(--heading-ink-soft,#52636d);margin:12px 0;}
#experience-framework-management #core-value-summaries-panel {padding:0;box-shadow:none;margin-top:24px;}
@media(max-width:640px){.experience-framework-heading .retro-header-text {font-size:32px;} .experience-framework-browse,.experience-framework-tools {padding:20px!important;} #skills-view select,#skills-view input {font-size:16px;} #skills-view .aligned-skills-list {padding:16px;} #skills-view .aligned-skill-row > div {align-items:stretch;} #skills-view .aligned-skill-row h4 {overflow-wrap:anywhere;} }

/* WebKit includes a long native option in page overflow; contain only the picker,
   leaving room for its focus indicator and showing the full selection below. */
#skills-view #parent-framework-picker-wrap {overflow:hidden;padding:8px;margin-left:-8px;width:calc(100% + 16px);}
.experience-framework-context {margin:12px 0 20px;line-height:1.6;overflow-wrap:anywhere;color:var(--heading-ink-soft,#52636d);}

@media(max-width:640px){#skills-view .aligned-skill-row > div {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;} #skills-view .aligned-skill-link {width:max-content;max-width:100%;} }

.experience-learning-table > div:first-child {padding:24px!important;box-shadow:none!important;border:1px solid var(--experience-line);}
.experience-learning-context {font-size:14px;line-height:1.6;color:var(--heading-ink-soft,#52636d);margin-bottom:16px;overflow-wrap:anywhere;}
.experience-learning-table-heading {align-items:flex-start!important;gap:20px!important;}
.experience-learning-table-heading h2 {font-size:32px;letter-spacing:-.6px;line-height:1.25;overflow-wrap:anywhere;}
.experience-learning-table-actions {display:flex;flex-wrap:wrap;gap:12px;}
.experience-learning-table-actions button {min-height:44px;}
.experience-learning-display {display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 12px;}
.experience-learning-display button[aria-pressed=true] {background:var(--accent-primary,#76682b);color:white;}
.experience-learning-hint {font-size:14px;line-height:1.6;color:var(--heading-ink-soft,#52636d);margin:12px 0 20px;}
.experience-learning-comparison {max-width:100%;outline-offset:4px;}
.experience-learning-row {display:block;font-weight:600;padding:8px;margin-left:-8px;max-width:calc(100% + 16px);overflow:hidden;}
.experience-learning-row select {display:block;width:100%;min-width:0;min-height:44px;font-size:16px;background:white;border:1px solid var(--experience-line);border-radius:8px;padding:12px;margin-top:8px;}
.experience-learning-selected {font-size:20px;font-weight:700;line-height:1.5;margin:20px 0;overflow-wrap:anywhere;}
.experience-learning-levels {display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));}
.experience-learning-level {display:block;width:100%;border:1px solid var(--experience-line);border-radius:10px;padding:20px;background:white;color:var(--text-dark,#172d3a);text-align:left;line-height:1.6;overflow-wrap:anywhere;}
.experience-learning-level strong {display:block;font-size:15px;}
.experience-learning-level p {margin-top:8px;white-space:pre-wrap;}
.experience-learning-level.is-highlighted {background:var(--admin-highlight,#e8f2ed);border:2px solid var(--accent-primary,#76682b);}
.experience-learning-level[aria-pressed] {cursor:pointer;}
@media(max-width:640px){.experience-learning-table > div:first-child {padding:20px!important;} .experience-learning-table-heading h2 {font-size:28px;} .experience-learning-table-actions {width:100%;} }

.experience-learning-feedback:not(:empty) {line-height:1.6;margin:12px 0;overflow-wrap:anywhere;} .experience-learning-table[data-highlight-saving=true] .experience-learning-comparison td {pointer-events:none;} .experience-learning-level[aria-disabled=true] {cursor:progress;} .experience-learning-table .structure-btn {min-height:36px;min-width:36px;} @media(max-width:640px){.experience-learning-table .structure-btn {min-height:44px;min-width:44px;}}

.experience-learning-micro-heading {align-items:flex-start!important;gap:20px!important;} .experience-learning-micro-heading h2 {font-size:32px;line-height:1.3;overflow-wrap:anywhere;} .experience-learning-micro-heading > div:last-child {display:flex;flex-wrap:wrap;gap:12px;} .experience-learning-micro-heading button {min-height:44px;} @media(max-width:640px){.experience-learning-micro-heading {flex-direction:column;} .experience-learning-micro-heading h2 {font-size:28px;}}

.experience-learning-row-definition {margin:-8px 0 20px;line-height:1.6;white-space:pre-wrap;color:var(--heading-ink-soft,#52636d);}

.experience-coverage-report {border:1px solid var(--experience-line);border-radius:12px;background:white;padding:12px 24px;margin:24px 0;}
.experience-coverage-report summary {cursor:pointer;font-weight:700;padding:12px 0;min-height:44px;}
.experience-coverage-report p {line-height:1.6;margin:12px 0;overflow-wrap:anywhere;color:var(--heading-ink-soft,#52636d);}
.experience-coverage-report button {margin:12px 0;min-height:44px;}
@media(max-width:640px){.experience-coverage-report {padding:12px 20px;}}

.experience-shell .experience-people > .bg-white {background:transparent;box-shadow:none;padding:0;}
.experience-page-intro {margin-top:16px;max-width:650px;line-height:1.6;color:var(--heading-ink-soft,#52636d);}
.experience-people-controls {display:grid;grid-template-columns:minmax(180px,2fr) minmax(160px,1fr) auto;gap:16px;align-items:end;margin:24px 0;}
.experience-people-controls label,.experience-person-access label {display:grid;gap:8px;font-size:14px;font-weight:600;}
.experience-people-controls input,.experience-people-controls select,.experience-person-access select {min-height:48px;width:100%;padding:10px 12px;border:1px solid var(--experience-line);border-radius:8px;background:var(--bg-surface,#fff);color:var(--text-dark,#172d3a);}
#experience-people-status {grid-column:1/-1;font-size:14px;color:var(--heading-ink-soft,#52636d);}
.experience-people-table {width:100%;background:var(--bg-surface,#fff);border:1px solid var(--experience-line);border-radius:12px;border-collapse:separate;border-spacing:0;}
.experience-people-table th {font-size:12px;text-transform:none;letter-spacing:0;}
.experience-people-table td {white-space:normal;overflow-wrap:anywhere;vertical-align:top;border-bottom:1px solid var(--experience-line);padding:20px;}
.experience-people-table td:first-child {width:42%;}.experience-people-table td:last-child {width:35%;}
.experience-person-role {font-size:13px;padding:4px 8px;border-radius:20px;background:var(--accent-light,#f2f0e6);display:inline-block;}
.experience-person-access summary {font-size:14px;cursor:pointer;min-height:44px;padding:12px 0;color:var(--heading-accent,#76682b);}
.experience-person-access label {margin:12px 0;}.experience-role-feedback {font-size:13px;line-height:1.5;margin:12px 0;}
.experience-people .btn,.experience-people .user-delete-btn {font-style:normal;text-transform:none;min-height:44px;}
#experience-people-invites {margin-top:24px;}#experience-people-invites summary {cursor:pointer;font-weight:700;min-height:44px;}#experience-people-invites > p {margin:12px 0 20px;}
#experience-people-invites #pending-invites-list {max-height:none;overflow:visible;}#experience-people-invites .truncate {white-space:normal;overflow-wrap:anywhere;}
@media(max-width:767px){.experience-people-controls {grid-template-columns:1fr;}.experience-people-table-wrap {overflow:visible;}.experience-people-table,.experience-people-table tbody,.experience-people-table tr,.experience-people-table td {display:block;width:100%!important;}.experience-people-table thead {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;}.experience-people-table {background:transparent;border:0;}.experience-people-table tr {background:var(--bg-surface,#fff);border:1px solid var(--experience-line);border-radius:12px;padding:20px;margin:16px 0;}.experience-people-table td {border:0;padding:0 0 12px;}.experience-people-table td:last-child {padding:0;}.experience-people-table .role-select {max-width:100%;}}

#pending-invites-list > div {flex-wrap:wrap;align-items:start;padding:16px 0;}#pending-invites-list > div > div {flex:1 1 220px;}#pending-invites-list button {min-height:44px;}#pending-invites-list .experience-invite-feedback {flex-basis:100%;font-size:13px;line-height:1.5;}

#experience-people-feedback:not(:empty) {margin:20px 0;padding:16px 20px;border:1px solid var(--experience-line);border-radius:8px;background:var(--accent-light,#f2f0e6);line-height:1.5;}#experience-person-invite-feedback {font-size:14px;line-height:1.5;margin:16px 0;}

.experience-shell .experience-classes > .bg-white {box-shadow:none;background:transparent;padding:0;}.experience-class-list-panel {margin:24px 0;}.experience-class-toolbar {display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;margin:20px 0;}.experience-class-toolbar label {display:grid;gap:8px;}.experience-class-toolbar input {min-height:48px;padding:10px 12px;border:1px solid var(--experience-line);border-radius:8px;}.experience-class-toolbar p {grid-column:1/-1;font-size:14px;}
#classrooms-list [data-class-card] {background:var(--bg-surface,#fff);border:1px solid var(--experience-line);border-radius:12px;padding:24px;gap:24px;align-items:start;overflow-wrap:anywhere;}#classrooms-list [data-class-card] > div:first-child {min-width:0;flex:1;}#classrooms-list [data-class-card] > div:last-child {display:flex;gap:12px;flex-wrap:wrap;}#classrooms-list button {min-height:44px;padding:10px 12px;border:1px solid var(--experience-line);border-radius:8px;}
#experience-class-create summary {min-height:44px;cursor:pointer;font-size:20px;font-weight:700;}#create-classroom-form {margin-top:20px;max-width:720px;display:grid;gap:20px;}#create-classroom-form input {min-height:48px;}#create-classroom-form button {justify-self:start;min-height:44px;}
.experience-teacher-picker legend {font-weight:600;font-size:14px;margin-bottom:12px;}.experience-teacher-picker label {display:flex;align-items:start;gap:12px;min-height:44px;padding:12px;border:1px solid var(--experience-line);border-radius:8px;margin:8px 0;cursor:pointer;}.experience-teacher-picker input {margin-top:4px;width:18px;height:18px;flex-shrink:0;}.experience-teacher-picker span {overflow-wrap:anywhere;line-height:1.5;min-width:0;}
#edit-classroom-modal > div {max-width:640px;max-height:92dvh;overflow-y:auto;}#edit-classroom-modal #edit-classroom-students {max-height:260px;}#edit-classroom-students label {min-height:44px;padding:12px;align-items:start;}#edit-classroom-students span {white-space:normal;overflow-wrap:anywhere;}#experience-class-edit-status,#experience-class-create-status {font-size:14px;line-height:1.5;margin:12px 0;}
@media(max-width:767px){.experience-class-toolbar {grid-template-columns:1fr;}#classrooms-list [data-class-card] {flex-direction:column;padding:20px;}#experience-class-create {padding:20px;}#edit-classroom-modal > div {margin:12px;width:calc(100% - 24px);}}

#experience-class-feedback:not(:empty) {margin:20px 0;padding:16px 20px;border:1px solid var(--experience-line);border-radius:8px;background:var(--accent-light,#f2f0e6);line-height:1.5;}

.experience-shell .experience-settings > .bg-white {background:transparent;box-shadow:none;padding:0;}.experience-settings-toolbar {display:flex;gap:20px;justify-content:space-between;align-items:center;margin:24px 0;}.experience-settings-toolbar p {font-size:14px;color:var(--heading-ink-soft,#52636d);}
.experience-settings-group {background:var(--bg-surface,#fff);border:1px solid var(--experience-line);border-radius:12px;padding:24px;margin:20px 0;}.experience-settings-group > summary {min-height:44px;cursor:pointer;font-size:20px;font-weight:700;}.experience-settings-group .experience-settings-panel {max-width:none;margin:20px 0 0;padding:20px 0 0;background:transparent;border-top:1px solid var(--experience-line);box-shadow:none;}.experience-settings-panel h2 {font-size:22px!important;line-height:1.4;margin-bottom:16px;}.experience-settings-panel p {line-height:1.6;overflow-wrap:anywhere;}.experience-settings-panel label {line-height:1.5;}.experience-settings-panel button {min-height:44px;}.experience-settings-panel input:not([type=checkbox]):not([type=color]),.experience-settings-panel select {min-height:48px;max-width:100%;min-width:0;}.experience-settings-panel input[type=checkbox] {flex-shrink:0;}.experience-settings-panel input[type=color] {min-height:44px;}
.experience-appearance-detail {border-top:1px solid var(--experience-line);margin:24px 0;padding-top:20px;}.experience-appearance-detail > summary {min-height:44px;cursor:pointer;font-size:16px;font-weight:600;}.experience-appearance-detail > div {border:0;margin-top:12px;padding-top:0;}.experience-setting-help,.experience-settings-panel-status,#experience-logo-status {font-size:14px;line-height:1.6;margin:12px 0;}
@media(max-width:767px){.experience-settings-group {padding:20px;}.experience-settings-toolbar {flex-direction:column;align-items:stretch;}.experience-settings-panel .grid-cols-2 {grid-template-columns:1fr;}.experience-settings-panel .flex {flex-wrap:wrap;gap:12px;}.experience-settings-panel .space-x-4 > * {margin-left:0;}.experience-settings-panel [type=time] {width:100%;}.experience-settings-panel #ownership-admin-select {min-width:0!important;width:100%;flex-basis:100%;}.experience-settings-panel input[type=file] {width:100%;}}

.experience-settings-panel label.flex {flex-wrap:nowrap;align-items:flex-start;}.experience-settings-panel label.flex > span {min-width:0;}.experience-settings-panel label.flex input[type=checkbox] {margin-top:4px;}

.experience-shell.experience-platform > header,.experience-shell.experience-platform > .experience-rail {display:none!important;}.experience-platform-view {max-width:1200px!important;margin:0 auto!important;width:100%!important;padding:40px 48px!important;}.experience-platform-view > .bg-white {background:var(--bg-surface,#fff);border:1px solid var(--experience-line);border-radius:12px;box-shadow:none;padding:28px;}.experience-platform-view > .bg-white:first-child {padding:0;border:0;background:transparent;}.experience-platform-view h1 {font-size:40px;line-height:1.2;letter-spacing:-1px;}.experience-platform-view p {line-height:1.6;overflow-wrap:anywhere;}.experience-platform-view button {font-style:normal;text-transform:none;min-height:44px;}.experience-platform-nav {display:flex;gap:16px;margin:28px 0;}.experience-platform-nav button {padding:12px 20px;border-bottom:3px solid transparent;}.experience-platform-nav [aria-pressed=true] {border-color:var(--heading-accent,#76682b);font-weight:700;}.experience-platform-toolbar {display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px;margin:20px 0;}.experience-platform-toolbar label {display:grid;gap:8px;}.experience-platform-toolbar input {min-height:48px;padding:10px 12px;border:1px solid var(--experience-line);border-radius:8px;}.experience-platform-toolbar p {grid-column:1/-1;font-size:14px;}.experience-platform-view [data-platform-row] {padding:20px;overflow-wrap:anywhere;}.experience-platform-school-actions {display:grid;gap:12px;}.experience-platform-school-actions summary,.experience-platform-bulk summary {min-height:44px;cursor:pointer;padding:12px 0;}.experience-platform-school-actions details > div {max-width:360px;}.experience-platform-bulk {margin:12px 0;}.experience-platform-bulk button {margin-right:12px;}.experience-platform-code-actions {align-items:center;}.experience-platform-code-actions label {font-size:14px;}.experience-platform-view input[type=email] {min-width:0;min-height:44px;}.experience-platform-edit-form {background:var(--bg-surface,#fff);border-radius:12px;padding:28px;margin:16px;width:min(480px,calc(100% - 32px));display:grid;gap:20px;}.experience-platform-edit-form h2 {font-size:24px;font-weight:700;}.experience-platform-edit-form input {min-height:48px;padding:10px 12px;border:1px solid var(--experience-line);border-radius:8px;width:100%;}.experience-platform-edit-form > div {display:flex;justify-content:end;gap:12px;}#experience-platform-feedback:not(:empty) {padding:16px 20px;background:var(--accent-light,#f2f0e6);border:1px solid var(--experience-line);border-radius:8px;margin-bottom:20px;}
@media(max-width:767px){.experience-platform-view {padding:24px 20px!important;}.experience-platform-view > .bg-white {padding:20px;}.experience-platform-view h1 {font-size:32px;}.experience-platform-toolbar {grid-template-columns:1fr;}.experience-platform-school-actions {width:100%;}.experience-platform-view [data-platform-row] > .flex {flex-direction:column;align-items:stretch;}.experience-platform-view [id^=pa-admins-] > .flex {flex-wrap:wrap;}.experience-platform-view [id^=pa-admins-] input {flex-basis:100%;}.experience-platform-code-actions {display:grid;grid-template-columns:1fr 1fr;}.experience-platform-view #pa-gen-count {width:100%;min-height:44px;}.experience-platform-nav button {padding:12px;}.experience-platform-bulk button {margin-bottom:12px;}}

#experience-auth-mode-title {font-size:22px;line-height:1.3;font-weight:700;margin:12px 0 16px;color:var(--text-dark,#172d3a);}.experience-auth-password {position:relative;}.experience-auth-password #auth-password {padding-right:76px;width:100%;}.experience-auth-password button {position:absolute;right:4px;top:3px;min-height:44px;padding:8px 12px;background:transparent;color:#76682b;font-size:14px;font-weight:600;}.experience-auth-help,#experience-auth-feedback {font-size:14px;line-height:1.6;color:#52636d;margin:8px 0;}.auth-panel [aria-busy=true] button {cursor:wait;opacity:.75;}.auth-panel .hidden {display:none!important;}.experience-verification-status {font-size:14px;line-height:1.6;margin:16px 0;color:#172d3a;}#verify-email-modal button,#account-mismatch-modal button {min-height:48px;}#verify-email-modal > div,#account-mismatch-modal > div {max-height:90dvh;overflow-y:auto;border:1px solid #d6e0e3;border-radius:12px;}#verify-email-modal [aria-live=assertive] {color:#9c3e2e;}

body.login-background {background-image:none;background-color:#f4f7f7;}body.login-background.bg-overlay::before {display:none;}.login-background .auth-panel {background:#fff;border:1px solid #d6e0e3;border-radius:12px;box-shadow:0 12px 32px rgba(23,45,58,.06);color:#172d3a;}.login-background .auth-intro h1 {color:#172d3a;}.login-background .auth-eyebrow {color:#76682b;}.login-background .auth-intro > p:last-child,.login-background .auth-guidance {color:#52636d;}.login-background .auth-guidance {background:#edf3f1;border:1px solid #d6e0e3;}.login-background .auth-submit {background:#76682b;color:#fff;border-color:#76682b;}.login-background .auth-submit:hover:not(:disabled) {background:#145d58;}.login-background .auth-links button {color:#76682b;}.login-background .auth-newcomer-actions > button {background:#fff;color:#76682b;border:1px solid #d6e0e3;}.login-background .auth-panel :focus-visible {outline-color:#76682b;}.login-background .auth-form input.auth-input,.login-background .auth-name-field input:not(.hidden) {border-color:#d6e0e3;color:#172d3a;}

.login-background #email-auth-form {display:grid;grid-template-columns:minmax(0,1fr);min-width:0;}.login-background .auth-entry {min-width:0;}.login-background .auth-panel {min-width:0;max-width:100%;}.login-background .auth-form input {min-width:0;max-width:100%;}#experience-auth-feedback {overflow-wrap:anywhere;}

.experience-shell .experience-profile > .bg-white:first-child {background:transparent;box-shadow:none;padding:0;}.experience-profile > .experience-card {max-width:860px;box-shadow:none;margin:24px 0;padding:28px;border:1px solid var(--experience-line);}.experience-profile h2 {font-size:24px!important;line-height:1.4;margin-bottom:20px;}.experience-profile #profile-name,.experience-profile #profile-email {overflow-wrap:anywhere;line-height:1.5;}.experience-profile-help {font-size:14px;line-height:1.6;color:var(--heading-ink-soft,#52636d);margin:16px 0;}.experience-profile #notification-delivery {min-height:48px;max-width:100%;}.experience-profile #notification-preference-status {font-size:14px;line-height:1.5;margin:16px 0;}.experience-profile-device {margin-top:24px;border-top:1px solid var(--experience-line);padding-top:16px;}.experience-profile-device summary,.experience-profile-delete summary {min-height:44px;cursor:pointer;font-weight:600;padding:12px 0;}.experience-profile-device > div {margin-top:12px;padding-top:12px;}.experience-profile-delete {max-width:860px;padding:20px 28px;background:var(--bg-surface,#fff);border:1px solid var(--experience-line);border-radius:12px;margin-top:28px;}.experience-profile-delete > div {max-width:none;margin:16px 0 0;padding:20px;}.experience-profile button {min-height:44px;}.experience-profile #notification-topic-mute {line-height:1.5;}
@media(max-width:767px){.experience-profile > .experience-card {padding:20px;}.experience-profile-delete {padding:16px 20px;}.experience-profile #enable-push-btn {width:100%;white-space:normal;}.experience-profile #notification-preference-status button {display:block;margin-top:12px;}}

.experience-guest-home #parent-welcome-message {padding:0;background:transparent;box-shadow:none;max-width:1000px;}.experience-guest-home #parent-welcome-message > h2 {font-size:40px;line-height:1.2;margin:12px 0 16px;}.experience-guest-home #parent-welcome-message > p {margin-bottom:28px;line-height:1.6;}.experience-guest-home .experience-card {margin:24px 0;padding:28px;}.experience-guest-home .experience-card h3 {font-size:24px;line-height:1.3;font-weight:700;margin-bottom:16px;}.experience-guest-home #experience-guest-email {font-weight:600;overflow-wrap:anywhere;}.experience-guest-home button {min-height:44px;margin-top:16px;}.experience-code-entry {margin-top:24px;border-top:1px solid var(--experience-line);padding-top:16px;}.experience-code-entry summary {min-height:44px;cursor:pointer;padding:12px 0;font-weight:600;}.experience-code-entry form {display:grid;gap:12px;max-width:650px;}.experience-code-entry label {font-weight:600;font-size:14px;}.experience-code-entry input {min-height:48px;padding:10px 12px;border:1px solid var(--experience-line);border-radius:8px;background:var(--bg-surface,#fff);width:100%;min-width:0;}.experience-code-entry #signup-code-input {text-transform:uppercase;letter-spacing:2px;}.experience-code-entry p {font-size:14px;line-height:1.6;}.experience-code-entry button {justify-self:start;}.experience-onboarding-banner {background:var(--accent-light,#f2f0e6);border:1px solid var(--experience-line);border-radius:12px;padding:28px;margin:24px 0;}.experience-onboarding-banner h2 {font-size:28px;font-weight:700;margin:12px 0;}.experience-onboarding-banner p {line-height:1.6;}.experience-onboarding-banner button {min-height:48px;margin:20px 0 12px;}.experience-onboarding-banner [role=alert],.experience-code-entry [role=alert] {color:#9c3e2e;}.experience-profile #enable-push-btn:disabled {opacity:.55;cursor:default;}
@media(max-width:767px){.experience-guest-home #parent-welcome-message > h2 {font-size:32px;}.experience-guest-home .experience-card,.experience-onboarding-banner {padding:20px;}.experience-code-entry button {width:100%;}}

.experience-guest-home #parent-announcements-card {display:none!important;}

/* Account access and checkout keep recovery in the task. */
.experience-access>div{border:1px solid var(--experience-border,#dce4e3);box-shadow:none!important;text-align:left;max-width:42rem;border-radius:14px;}
.experience-access h2{color:var(--experience-ink,#19343e);}.experience-access button{min-height:48px;}.experience-access-help{display:inline-block;margin:16px;color:var(--experience-teal,#186e6c);text-decoration:underline;}
.experience-school-plans>div{max-height:calc(100dvh - 32px);overflow:auto;border-radius:14px;}.experience-school-plans button{min-height:48px;}.experience-school-plans button:disabled{opacity:.55;cursor:default;}
#experience-checkout-status{color:var(--experience-ink,#19343e);line-height:1.6;margin:0 0 16px;}
.experience-account-menu{width:min(20rem,calc(100vw - 32px));}.experience-account-menu #user-email-display{white-space:normal;overflow-wrap:anywhere;}.experience-account-menu a,.experience-account-menu button{min-height:44px;}
@media(max-width:480px){.experience-access{padding:20px!important;}.experience-access>div{padding:24px;}.experience-access button{width:100%;}.experience-access-help{margin-left:0;}.experience-school-plans .p-6{padding:20px;}}

.experience-overview-status{font-size:14px;line-height:1.6;color:var(--experience-ink,#19343e);margin:12px 0;padding:12px;background:var(--accent-light,#f2f0e6);border-radius:8px;overflow-wrap:anywhere;}

.experience-overview-status[data-populated="true"]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}

/* Rail and compact navigation use inline submenus, without popup offsets. */
.experience-shell .app-primary-nav .nav-menu-group .nav-menu-items{transform:none;left:auto;right:auto;min-width:0;max-width:100%;width:100%;}

/* Portfolio content owns its gutters; legacy phone .p-8 must not nest them. */
.experience-shell #student-detail-view > div { padding: 0 !important; }
@media (max-width: 640px) {
  .experience-shell #experience-progress-skills { padding: 16px; }
  .experience-shell #anecdote-display-container { padding: 16px; }
}

@media (max-width: 640px) {
  .experience-shell #anecdote-display-container > .flex { flex-direction: column; align-items: stretch; gap: 12px; }
  .experience-shell #anecdote-display-container > .flex > .flex { justify-content: space-between; gap: 12px; }
  .experience-shell #build-continuum-btn { min-height: 44px; white-space: normal; }
  .experience-shell #close-anecdote-display-btn { min-width: 44px; min-height: 44px; flex-shrink: 0; margin-left: 0; }
}

/* Teacher pilot: writing and private/public state share one restrained hierarchy. */
.experience-shell .teacher-pilot-authoring-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); align-items: start; gap: 24px; }
.teacher-pilot-authoring-main, .teacher-pilot-authoring-side { min-width: 0; display: grid; gap: 24px; }
.experience-shell .teacher-pilot-authoring-layout :is(.experience-writing, .experience-journey-images, .experience-appearance, .experience-publication-review, .experience-personal-pdf, .experience-publication-recipients) { min-width: 0; margin-top: 0; padding: 28px; border: 1px solid var(--experience-line); border-radius: 12px; background: var(--bg-surface); }
.experience-shell .teacher-pilot-authoring-layout h3 { font-size: 24px; line-height: 1.25; font-weight: 700; letter-spacing: -.02em; overflow-wrap: anywhere; }
.experience-shell .teacher-pilot-authoring-layout :is(p, label) { overflow-wrap: anywhere; }
.experience-shell .teacher-pilot-authoring-layout label { font-size: 14px; font-weight: 600; }
.experience-shell #journey-editor-title { font-size: 36px; line-height: 1.2; letter-spacing: -.03em; overflow-wrap: anywhere; }
.experience-shell #journey-section-editor .text-gray-400,
.experience-shell #journey-editor-view .experience-authoring > p.text-gray-400 { color: var(--heading-ink-soft, #52636d) !important; font-size: 14px; line-height: 1.5; }
.experience-shell .experience-writing :is(input[type="text"], textarea, select),
.experience-shell #journey-builder-view :is(input[type="text"], select) { width: 100%; min-height: 48px; font-size: 16px; border: 1px solid var(--teacher-field-border); border-radius: 8px; padding: 12px; background: var(--bg-surface); color: var(--text-dark); }
.experience-shell .experience-writing :is(input, textarea, select):focus-visible { outline: 3px solid var(--v1-focus, #76682b); outline-offset: 3px; }
.experience-shell .experience-writing #journey-title-input { font-size: 16px; margin-top: 8px; }
.experience-shell .experience-journey-card { border: 0 !important; border-top: 1px solid var(--experience-line) !important; border-radius: 0; overflow: visible; background: transparent; }
.experience-shell .experience-journey-card > div:first-child { background: transparent !important; padding: 20px 0 12px; gap: 12px; }
.experience-shell .teacher-pilot-section-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.experience-shell .teacher-pilot-section-body > .teacher-pilot-reference { padding: 20px; border: 1px solid var(--experience-line); border-radius: 8px; background: var(--bg-primary); }
.experience-shell .teacher-pilot-section-body > .teacher-pilot-writing { min-width: 0; padding: 0; background: transparent; }
.experience-shell .teacher-pilot-section-body p { font-size: 14px; line-height: 1.6; }
.experience-shell .teacher-pilot-section-body textarea { width: 100%; font-size: 16px; line-height: 1.65; }
.experience-shell .teacher-pilot-writing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.experience-shell .teacher-pilot-writing-actions p { font-size: 14px; color: var(--heading-ink-soft); }
.experience-shell .experience-publication-stages { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.experience-shell .experience-publication-stage { padding: 20px 0; border: 0; border-top: 1px solid var(--experience-line); border-radius: 0; }
.experience-shell .experience-publication-stage:last-child { padding-bottom: 0; }
.experience-shell .experience-publication-stage h4 { font-size: 16px; line-height: 1.5; margin-bottom: 8px; }
.experience-shell .experience-publication-stage[data-current="true"] h4 { color: var(--heading-accent); }
.experience-shell .experience-publication-stage > p { margin-bottom: 12px; }
.experience-shell .experience-publication-stage > button { margin-top: 8px; }
.experience-shell #journey-persistence-status { margin-block: 16px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.experience-shell .experience-publication-recipients h3 { margin-bottom: 16px; font-size: 20px; }
.experience-shell .experience-publication-recipients #journey-publication-audience { padding: 0; border: 0; background: transparent; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.experience-shell .experience-publication-recipients > label { display: flex; align-items: flex-start; gap: 8px; margin-top: 16px; font-size: 14px; font-weight: 400; line-height: 1.5; }
.experience-shell .experience-publication-recipients input[type="checkbox"] { flex-shrink: 0; margin-top: 4px; }
.experience-shell #journey-builder-view .journey-anecdote-card { border: 1px solid var(--experience-line, #d6e0e3); box-shadow: none !important; transform: none !important; overflow: visible; padding-left: 0; border-radius: 12px; }
.experience-shell #journey-builder-view .journey-anecdote-card[data-selected="true"] { border-color: var(--heading-accent); background: var(--teacher-selected-surface); }

.experience-shell #journey-builder-view .journey-anecdote-card[data-selected="true"] :is(.journey-evidence-choice, .journey-evidence-choice-heading, .journey-evidence-footer, .journey-evidence-strands) { background: var(--teacher-selected-surface); }
.experience-shell #journey-builder-view .journey-evidence-text { font-size: 16px; font-style: normal; line-height: 1.6; }
.experience-shell #journey-builder-view .journey-evidence-choice-heading { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; padding: 8px 0; }
.experience-shell #journey-builder-view .journey-selected-badge { display: inline-block !important; color: #172d3a; background: transparent; border: 1px solid #819399; font-size: 13px; }
/* Reserve the selected label's dimensions without exposing it while unselected. */
.experience-shell #journey-builder-view .journey-anecdote-card:not([data-selected="true"]) .journey-selected-badge { visibility: hidden; }
.experience-shell #journey-builder-view .journey-anecdote-checkbox { accent-color: var(--heading-accent); }
@media (min-width: 1024px) and (max-width: 1279px) {
    .experience-shell :is(#dashboard-view, #journey-editor-view, #journey-builder-view) { padding-inline: 32px; }
    .experience-shell .teacher-pilot-authoring-layout { grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 20px; }
.experience-shell .teacher-pilot-authoring-layout :is(.experience-writing, .experience-journey-images, .experience-publication-review, .experience-publication-recipients) { padding: 20px; }
}
@media (max-width: 1023px) {
    .experience-shell .teacher-pilot-authoring-layout { grid-template-columns: minmax(0, 1fr); }
.experience-shell .teacher-pilot-authoring-layout :is(.experience-writing, .experience-journey-images, .experience-appearance, .experience-publication-review, .experience-personal-pdf, .experience-publication-recipients) { padding: 20px; }
    .experience-shell #journey-editor-title { font-size: 30px; }
    .experience-shell .teacher-home-flow { padding: 24px 20px; }
    .experience-shell #analytics-header-text { font-size: 34px; line-height: 1.18; }
    .experience-shell .teacher-pilot-writing-actions > button { width: 100%; }
}

/* Framework hierarchy uses typography and uniform surfaces, without accent rails. */
#skills-view .core-skill-header { border-radius: 10px; }
#skills-view .core-skill-header strong { color: var(--framework-core-color, var(--text-dark)); }
#skills-view .core-skill-header[aria-expanded="true"] { background: var(--bg-primary, #f4f7f7); }
.experience-group-management summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; }
.experience-group-management summary::-webkit-details-marker { display:none; }
.experience-group-management summary svg { width:18px; height:18px; flex:none; }
.experience-group-management[open] summary svg { transform:rotate(180deg); }
.group-folder-open-btn { display:flex; align-items:center; gap:10px; }
.group-folder-open-btn > svg { width:24px; height:24px; flex:none; }
