.journey-page { background: #f8f2e4; }
.journey-page .brand-picture.small { width: 54px; height: 54px; }
.journey-page .brand-picture.small img { width: 100%; height: 100%; object-fit: contain; }
.journey-shell { min-height: calc(100vh - 180px); padding-block: 1rem 5rem; }
.prototype-note { margin: 0 0 1.25rem; padding: .7rem 1rem; border-left: 4px solid var(--gold); color: var(--muted); background: #fffaf0; font-size: .82rem; }
.journey-view { animation: journey-in .22s ease-out; }
@keyframes journey-in { from { opacity: 0; transform: translateY(5px); } }
.journey-start { min-height: 610px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.journey-start h1, .journey-heading h1, .workspace-heading h2, .pdf-toolbar h2, .inspiration-hero h1, .public-journey h1 { font-size: clamp(2.4rem, 5vw, 4.55rem); }
.journey-tagline { margin: .6rem 0; color: var(--green); font-family: Georgia, serif; font-size: clamp(1.45rem, 3vw, 2.35rem); font-weight: 700; line-height: 1.2; }
.journey-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
.save-status, .source-note { color: var(--muted); font-size: .82rem; }
.journey-hero-art { position: relative; width: min(100%, 390px); justify-self: center; padding: 1.3rem 2rem 0; border: 1px solid #dccda8; border-radius: 28px; background: var(--paper); box-shadow: var(--shadow); }
.journey-hero-art picture img { max-height: 430px; margin: auto; object-fit: contain; }
.paper-stack { position: absolute; right: -25px; bottom: 35px; display: grid; gap: .45rem; }
.paper-stack span { padding: .55rem 1rem; border: 1px solid #ddcfad; border-radius: 6px; color: var(--green); background: white; box-shadow: 0 5px 15px rgb(31 49 36 / 10%); font-family: Georgia, serif; font-weight: 700; transform: rotate(2deg); }
.paper-stack span:nth-child(2) { transform: rotate(-2deg); }
.journey-heading { max-width: 850px; padding: 2.8rem 0 1.5rem; }
.journey-heading.compact { padding-top: 1rem; }
.journey-heading > p:last-child { color: var(--muted); }
.back-link, .breadcrumb button { padding: 0; border: 0; color: var(--green); background: transparent; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
.choice-card { min-height: 330px; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.6rem, 4vw, 3rem); border: 1px solid #dccda8; border-radius: 22px; background: var(--paper); box-shadow: 0 13px 35px rgb(31 49 36 / 7%); }
.choice-card h2 { margin: 1.3rem 0 .4rem; }
.choice-card p { max-width: 36ch; color: var(--muted); }
.choice-card .button { margin-top: auto; }
.theme-icon, .theme-cover, .pdf-emblem { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; color: var(--gold); background: var(--green); font-size: 1.75rem; }
.theme-icon.large { width: 78px; height: 78px; font-size: 2rem; }
.badge-toolbar, .library-toolbar { display: grid; grid-template-columns: 1.25fr repeat(3, minmax(0, .75fr)); gap: 1rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid #d8ccb1; border-radius: 16px; background: #fffaf0; }
.badge-toolbar label, .library-toolbar label, .paper-form label, .message-options label, .message-editor > label { display: grid; gap: .35rem; color: var(--green); font-size: .8rem; font-weight: 800; }
.badge-toolbar input, .badge-toolbar select, .library-toolbar input, .library-toolbar select, .paper-form input, .paper-form select, .paper-form textarea, .message-options select, .message-editor textarea { width: 100%; min-height: 46px; padding: .65rem .75rem; border: 1px solid #bfc6b6; border-radius: 9px; background: white; }
.badge-toolbar fieldset { display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; border: 0; }
.badge-toolbar legend { width: 100%; color: var(--green); font-size: .8rem; font-weight: 800; }
.badge-grid { display: grid; gap: .85rem; }
.badge-card { display: grid; grid-template-columns: auto 1fr auto; gap: 1.2rem; align-items: center; padding: 1.2rem; border: 1px solid #d8ccb1; border-radius: 16px; background: var(--paper); }
.badge-card h2 { margin: 0 0 .25rem; font-size: 1.4rem; }
.badge-card p { margin: 0; color: var(--muted); }
.catalog-status { margin: 0 0 .85rem; color: var(--muted); font-size: .9rem; }
.badge-card .badge-theme { display: inline-block; margin-top: .35rem; color: #6b7449; font-size: .78rem; font-weight: 800; }
.card-actions { display: grid; justify-items: end; gap: .55rem; font-size: .8rem; font-weight: 750; }
.paper-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: clamp(1.3rem, 4vw, 2.3rem); border: 1px solid #d8ccb1; border-radius: 20px; background: var(--paper); box-shadow: 0 12px 35px rgb(31 49 36 / 6%); }
.paper-form > label:first-child, .paper-form .wide, .paper-form > fieldset, .paper-form > button { grid-column: 1 / -1; }
.paper-form label small { color: var(--muted); font-weight: 500; }
.illustration-picker { display: flex; flex-wrap: wrap; gap: .7rem; padding: 1rem; border: 1px solid #d8ccb1; border-radius: 12px; }
.illustration-picker legend { color: var(--green); font-weight: 800; }
.illustration-picker input { position: absolute; opacity: 0; }
.illustration-picker span { width: 95px; height: 85px; display: grid; place-items: center; padding: .5rem; border: 2px solid transparent; border-radius: 12px; background: #f5efdf; font-size: 1.8rem; cursor: pointer; }
.illustration-picker span small { display: block; font-size: .72rem; }
.illustration-picker img { display: block; width: 68px; height: 58px; margin: 0 auto .25rem; border-radius: 9px; object-fit: cover; }
.illustration-picker input:checked + span { border-color: var(--green); }
.breadcrumb { display: flex; gap: .5rem; padding-top: 1rem; color: var(--muted); font-size: .82rem; }
.workspace-heading { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem; padding: 2rem 0; }
.workspace-heading h1 { margin: 0; }
.workspace-heading p { margin: .25rem 0; }
.badge-reference { color: var(--muted); font-size: .85rem; }
.journey-tabs { position: sticky; top: 0; z-index: 5; display: flex; overflow-x: auto; border-bottom: 2px solid #d8ccb1; background: #f8f2e4; }
.journey-tabs button { min-width: max-content; padding: .9rem 1.35rem; border: 0; border-bottom: 4px solid transparent; color: var(--muted); background: transparent; font-weight: 850; cursor: pointer; }
.journey-tabs button.is-active { color: var(--green); border-color: var(--gold); }
.tab-panel { padding-block: 1.5rem; }
.section-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-intro h2 { margin-bottom: .35rem; font-size: 1.75rem; }
.section-intro p { margin: 0; color: var(--muted); }
.meeting-list { display: grid; gap: .8rem; }
.meeting-card { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 1rem; padding: 1.15rem; border: 1px solid #d8ccb1; border-radius: 16px; background: var(--paper); box-shadow: 0 7px 20px rgb(31 49 36 / 5%); }
.meeting-number { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--olive); font-family: Georgia, serif; font-size: 1.25rem; font-weight: 800; }
.meeting-card h3, .meeting-card p { margin: .1rem 0; }
.meeting-actions { display: grid; justify-items: end; gap: .5rem; }
.move-actions { display: flex; gap: .25rem; }
.move-actions button { width: 44px; height: 44px; border: 1px solid #c7ccb9; border-radius: 8px; color: var(--green); background: white; cursor: pointer; }
.time-status { font-size: .82rem; font-weight: 800; }
.time-status.good { color: var(--green); }
.warning { color: #8a5c00; }
.communication-summary { max-width: 620px; margin-top: 1.3rem; padding: 1rem 1.2rem; border-left: 4px solid var(--gold); background: #fffaf0; }
.communication-summary h2 { font-size: 1.1rem; }
.communication-summary p { display: flex; justify-content: space-between; gap: 1rem; margin: .35rem 0; }
.material-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.material-columns section { padding: 1.3rem; border: 1px solid #d8ccb1; border-radius: 16px; background: var(--paper); }
.material-columns label { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.material-columns input { width: 20px; height: 20px; accent-color: var(--green); }
.material-columns span { display: grid; }
.material-columns small { color: var(--muted); }
.message-layout { display: grid; grid-template-columns: 280px 1fr; gap: 1rem; }
.message-options, .message-editor { display: grid; gap: .8rem; align-content: start; padding: 1.2rem; border: 1px solid #d8ccb1; border-radius: 16px; background: var(--paper); }
.stale-message { padding: .8rem; border-left: 4px solid var(--gold); background: #fff7dc; }
.message-meeting-picker { display: grid; gap: .45rem; padding: .8rem; border: 1px solid #d8ccb1; border-radius: 10px; }
.message-meeting-picker[hidden] { display: none; }
.message-meeting-picker label { display: flex; gap: .55rem; align-items: center; font-weight: 600; }
.danger-card { border-color: #d8b5a8 !important; }
.output-grid, .library-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.output-grid article, .library-grid article { padding: 1.3rem; border: 1px solid #d8ccb1; border-radius: 16px; background: var(--paper); }
.output-grid article > span { color: var(--olive); font-size: 1.7rem; }
.output-grid h3 { margin-top: .45rem; }
.share-library { grid-column: 1 / -1; }
.meeting-meta { margin: 1rem 0 1.4rem; grid-template-columns: repeat(3, 1fr); }
.meeting-plan { padding: 1.3rem; border: 1px solid #d8ccb1; border-radius: 18px; background: var(--paper); }
.activity-timeline { position: relative; display: grid; gap: .5rem; }
.activity-timeline::before { content: ""; position: absolute; left: 72px; top: 20px; bottom: 20px; border-left: 2px dashed #cbbd98; }
.activity-timeline article { position: relative; display: grid; grid-template-columns: 65px 1fr auto; gap: 1rem; padding: 1.05rem 1.15rem; border: 1px solid #ded1b4; border-left: 4px solid #c9b06a; border-radius: 14px; background: var(--paper); box-shadow: 0 7px 20px rgb(31 49 36 / 6%); }
.activity-timeline article + article { margin-top: .8rem; }
.activity-timeline time { color: var(--green); font-weight: 900; }
.activity-timeline time small { display: block; color: var(--muted); font-weight: 500; }
.activity-timeline h3, .activity-timeline p { margin: .1rem 0; }
.material-inline { color: var(--muted); font-size: .8rem; }
.material-editor { padding: 1rem; border: 1px solid #d8ccb1; border-radius: 12px; }
.material-editor legend { color: var(--green); font-weight: 800; }
.material-editor div { display: grid; grid-template-columns: 2fr .7fr .8fr 1.5fr; gap: .45rem; margin-bottom: .45rem; }
.text-action { padding: .4rem 0; border: 0; color: var(--green); background: transparent; font-weight: 800; cursor: pointer; }
.checkbox-row { display: flex !important; grid-template-columns: auto 1fr; align-items: center; }
.checkbox-row input { width: 20px; min-height: 20px; accent-color: var(--green); }
.pdf-stage { padding-block: 1rem 4rem; }
.pdf-toolbar { display: flex; align-items: center; justify-content: space-between; margin: 1rem 0; }
.pdf-toolbar h1 { font-size: 3rem; }
.pdf-sheet { width: min(800px, 100%); min-height: 1080px; margin: 0 auto; padding: clamp(2rem, 6vw, 4.5rem); border: 1px solid #d8ccb1; color: #253128; background: #fffdf7; box-shadow: var(--shadow); }
.pdf-sheet > header { padding-bottom: 2rem; border-bottom: 3px solid var(--gold); }
.pdf-sheet > header h2 { margin: .5rem 0; font-family: Georgia, serif; font-size: 3.7rem; }
.pdf-sheet section { margin-top: 2rem; }
.pdf-sheet h3 { padding-bottom: .35rem; border-bottom: 1px solid #d8ccb1; font-size: 1.25rem; }
.pdf-sheet ol li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; }
.pdf-sheet table th { position: static; width: 145px; color: var(--green); background: #f5eedc; }
.pdf-sheet footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1rem; border-top: 1px solid #d8ccb1; color: var(--muted); font-size: .72rem; }
.parent-sheet { position: relative; overflow: hidden; background: linear-gradient(155deg, #fffdf7 0%, #fff8e5 55%, #f7edcf 100%); }
.parent-sheet::before, .parent-sheet::after { position: absolute; z-index: 0; content: ""; border-radius: 50%; background: rgb(231 173 34 / 12%); }
.parent-sheet::before { width: 240px; height: 240px; top: -110px; right: -95px; }
.parent-sheet::after { width: 150px; height: 150px; bottom: 90px; left: -85px; }
.parent-sheet > * { position: relative; z-index: 1; }
.parent-sheet > header { text-align: center; }
.parent-sheet .pdf-emblem { margin: auto; }
.pdf-emblem { overflow: hidden; }
.pdf-emblem img { width: 100%; height: 100%; object-fit: cover; }
.badge-info, .uniform-note { padding: 1.15rem; border: 1px solid #e0c984; border-radius: 16px; background: rgb(255 250 235 / 88%); }
.uniform-note { display: grid; grid-template-columns: 160px 1fr; gap: 1.25rem; align-items: center; }
.uniform-illustration-placeholder { min-height: 190px; display: grid; place-items: center; align-content: center; gap: .55rem; padding: 1rem; border: 2px dashed #b99745; border-radius: 18px; color: var(--green); background: linear-gradient(145deg, #f8e7ad, #fffaf0); text-align: center; }
.uniform-illustration-placeholder .scout-silhouette { position: relative; width: 62px; height: 92px; border-radius: 35px 35px 20px 20px; background: var(--green); }
.uniform-illustration-placeholder .scout-silhouette::before { position: absolute; width: 40px; height: 40px; top: -30px; left: 11px; content: ""; border-radius: 50%; background: var(--green); }
.uniform-illustration-placeholder .scout-silhouette::after { position: absolute; width: 78px; height: 15px; top: 9px; left: -8px; content: ""; border-radius: 50%; background: var(--gold); transform: rotate(-8deg); }
.uniform-illustration-placeholder small { max-width: 15ch; font-weight: 750; line-height: 1.25; }
.uniform-illustration { min-height: 190px; display: grid; place-items: end center; overflow: hidden; border: 1px solid #d8c99d; border-radius: 18px; background: #fff9ec; }
.uniform-illustration img { display: block; width: auto; max-width: 100%; height: 230px; object-fit: contain; object-position: bottom center; }
.mobile-plan-view { width: min(520px, 100%); margin: 0 auto; padding-block: 1rem 3rem; }
.mobile-plan-view > header { margin-top: 1rem; padding: 1.3rem; border-radius: 18px; background: var(--green); }
.mobile-plan-view > header h1, .mobile-plan-view > header p, .mobile-plan-view > header .eyebrow { color: white; }
.mobile-agenda { padding: 0; list-style: none; }
.mobile-agenda li { display: grid; grid-template-columns: 70px 1fr; gap: .8rem; padding: 1.1rem 0; border-bottom: 1px solid #d8ccb1; }
.mobile-agenda time { color: var(--green); font-weight: 900; }
.mobile-agenda time small { display: block; color: var(--muted); }
.mobile-agenda h2 { margin: 0; font-size: 1.15rem; }
.mobile-agenda p { margin: .3rem 0; }
.mobile-note { padding: 1rem; border-left: 4px solid var(--gold); background: var(--paper); }
.inspiration-main, .public-journey { padding-block: 3rem 5rem; }
.inspiration-hero { max-width: 850px; margin-bottom: 2rem; }
.library-toolbar { grid-template-columns: 1.5fr repeat(4, 1fr); }
.library-grid { grid-template-columns: repeat(3, 1fr); }
.theme-cover { position: relative; width: 100%; height: 180px; overflow: hidden; display: grid; place-items: center; border-radius: 16px; color: var(--gold); background: linear-gradient(145deg, var(--green), #2b5d43); font-size: 4rem; }
.theme-cover::after { position: absolute; width: 150px; height: 150px; right: -45px; bottom: -65px; content: ""; border-radius: 50%; background: rgb(255 255 255 / 8%); }
.theme-cover picture, .theme-cover img { width: 100%; height: 100%; object-fit: cover; }
.theme-cover span { position: relative; z-index: 1; }
.theme-cover.nature { color: #dce7b5; }
.theme-cover.large { width: 180px; height: 180px; border-radius: 24px; font-size: 5rem; }
.attribution { color: var(--muted); font-size: .82rem; }
.public-journey > header { display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: center; margin: 2rem 0 3rem; }
.public-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.public-summary article, .copy-note { padding: 1.3rem; border: 1px solid #d8ccb1; border-radius: 16px; background: var(--paper); }
.public-meetings { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; }
.public-meetings article { display: grid; grid-template-columns: 44px 1fr; gap: .8rem; padding: 1rem; border-radius: 14px; background: var(--paper); }
.public-meetings article > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--olive); font-weight: 900; }
.public-meetings h3, .public-meetings p { margin: .1rem 0; }
.public-materials { display: grid; gap: .35rem; margin: .5rem 0 0; padding-left: 1.2rem; }
.public-activities { display: grid; gap: .65rem; margin: .7rem 0 0; padding-left: 1.25rem; }
.public-activities li { padding-left: .2rem; }
.public-activities span, .public-activities small { display: block; margin-top: .2rem; }
.public-activities span { color: var(--ink); }
.public-activities small { color: var(--muted); }
.copy-note { margin-top: 2rem; border-left: 5px solid var(--gold); }
.empty-state { padding: 2rem; border: 2px dashed #bdc5ae; border-radius: 16px; text-align: center; background: #fffaf0; }
@media (max-width: 820px) {
  .journey-page .site-header { align-items: flex-start; padding-block: .75rem; }
  .journey-page .site-header nav { gap: .7rem; overflow-x: auto; }
  .journey-start, .choice-grid, .material-columns, .message-layout, .output-grid, .library-grid, .public-summary, .public-meetings { grid-template-columns: 1fr; }
  .journey-start { padding-block: 2.5rem; }
  .journey-hero-art { width: 300px; }
  .badge-toolbar, .library-toolbar { grid-template-columns: 1fr; }
  .badge-card { grid-template-columns: auto 1fr; }
  .badge-card .card-actions { grid-column: 1 / -1; justify-items: start; }
  .workspace-heading { grid-template-columns: auto 1fr; }
  .workspace-heading > .button { grid-column: 1 / -1; }
  .meeting-card { grid-template-columns: 42px 1fr; }
  .meeting-actions { grid-column: 1 / -1; display: flex; justify-content: space-between; }
  .meeting-meta { grid-template-columns: 1fr 1fr; }
  .activity-timeline::before { display: none; }
  .activity-timeline article { grid-template-columns: 58px 1fr; }
  .activity-timeline .move-actions { grid-column: 2; }
  .material-editor div { grid-template-columns: 1fr 1fr; }
  .public-journey > header { grid-template-columns: 1fr; }
  .theme-cover.large { width: 130px; height: 130px; }
}
@media (max-width: 560px) {
  .journey-page .shell { width: min(100% - 24px, 1160px); }
  .journey-page .site-header nav { display: none; }
  .journey-start h1, .journey-heading h1, .workspace-heading h2, .inspiration-hero h1, .public-journey h1 { font-size: 2.2rem; }
  .journey-hero-art { width: 250px; }
  .paper-stack { right: -5px; }
  .paper-form, .meeting-meta { grid-template-columns: 1fr; }
  .paper-form > label, .paper-form .wide { grid-column: 1; }
  .section-intro, .pdf-toolbar { display: grid; }
  .communication-summary p { display: grid; }
  .pdf-sheet { min-height: 0; padding: 1.2rem; }
  .pdf-sheet > header h2 { font-size: 2.6rem; }
  .pdf-sheet ol li, .pdf-sheet footer { display: grid; }
  .uniform-note { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .journey-view { animation: none; } }
@media print { .journey-page > header, .journey-page > footer, .prototype-note, .pdf-stage > .back-link, .pdf-toolbar { display: none !important; } .pdf-sheet { width: 100%; min-height: 0; border: 0; box-shadow: none; } }
.import-button { position: relative; overflow: hidden; }
.import-button input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.participant-material { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; white-space: nowrap; }
.publish-dialog { inline-size: min(42rem, calc(100% - 2rem)); max-block-size: calc(100vh - 2rem); border: 1px solid var(--line, #d7c9a8); border-radius: 1.25rem; padding: 0; color: inherit; background: #fffaf0; }
.publish-dialog::backdrop { background: rgb(10 35 24 / .62); }
.publish-dialog form { position: relative; margin: 0; padding: clamp(1.25rem, 4vw, 2.25rem); }
.publish-dialog dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.publish-dialog dl div { padding: .7rem; border-radius: .7rem; background: #f3ecd9; }
.publish-dialog dt { font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.publish-dialog dd { margin: .2rem 0 0; }
.dialog-close { position: absolute; inset: .75rem .75rem auto auto; border: 0; background: transparent; font-size: 1.6rem; }
.publish-status { min-block-size: 1.5em; font-weight: 700; }
@media (max-width: 600px) { .publish-dialog dl { grid-template-columns: 1fr; } }
.moderation-main { padding-block: 2rem 4rem; }
.moderation-login { max-width: 38rem; margin-inline: auto; }
.moderation-layout { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 2fr); gap: 1.25rem; align-items: start; }
.moderation-list { display: grid; gap: .65rem; }
.moderation-list > button { display: grid; gap: .25rem; text-align: left; padding: 1rem; border: 1px solid #ded2b7; border-radius: .8rem; background: #fffdf7; color: inherit; }
.moderation-preview { min-height: 20rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid #ded2b7; border-radius: 1rem; background: #fffdf7; }
.moderation-preview dl { display: flex; flex-wrap: wrap; gap: .75rem 2rem; }
.moderation-preview dt { font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.moderation-preview dd { margin: .2rem 0 0; }
.moderation-preview details { margin-block: .65rem; padding: .8rem; border: 1px solid #ded2b7; border-radius: .7rem; }
.moderation-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.25rem; }
@media (max-width: 760px) { .moderation-layout { grid-template-columns: 1fr; } }
