.shj-v8-workspace,.shj-v8-workspace *,.shj-v8-workspace *::before,.shj-v8-workspace *::after{box-sizing:border-box}
/* App composition. Components and tokens live in practice-rooms.css. */
.shj-v8-workspace{margin:0;min-height:100dvh;display:flex;flex-direction:column}
.shj-v8-header{position:relative;z-index:30;max-width:none;width:100%;padding:0;border-bottom:1px solid var(--shj-line)}
.shj-v8-header-inner{display:flex;align-items:center;gap:24px;max-width:1200px;margin:auto;padding:16px var(--shj-page-gutter)}
.shj-v8-brand{flex-shrink:0;font-size:24px;font-weight:500;text-decoration:none;letter-spacing:.06em!important}
.shj-v8-brand img{display:block;max-width:110px;max-height:40px;object-fit:contain}
.shj-v8-content{width:100%;max-width:1200px;margin:0 auto;flex:1;padding:40px var(--shj-page-gutter) 64px;outline:none;min-width:0}
.shj-v8-content>.shj-component:first-child{padding-top:0}
.shj-v8-skip{position:fixed;left:16px;top:-100px;z-index:120;background:#4d3c1a;color:#fbf6ed;padding:12px}
.shj-v8-skip:focus{top:12px}
.shj-v8-account{margin-left:auto;position:relative}
.shj-v8-account>summary{list-style:none;cursor:pointer;padding:8px 0;min-height:44px;display:flex;align-items:center;gap:8px;font-size:20px;font-weight:500}
.shj-v8-account>summary::-webkit-details-marker{display:none}
.shj-v8-account>summary::after{content:'⌄';font-size:18px}
.shj-v8-account nav{position:absolute;right:0;top:calc(100% + 12px);width:min(340px,calc(100vw - 40px));max-height:75dvh;overflow:auto;background:var(--shj-beige);border:1px solid var(--shj-line);border-radius:6px;padding:8px 20px;box-shadow:0 8px 28px #4d3c1a18}
.shj-v8-account nav a{display:flex;align-items:center;min-height:48px;padding:10px 0;border-bottom:1px solid var(--shj-line);text-decoration:none;font-size:20px}
.shj-v8-account nav a:last-child{border:0}
.shj-v8-nav{position:fixed;inset:auto 0 0;z-index:50;max-width:none;margin:0;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--shj-line);background:var(--shj-beige)}
.shj-v8-nav-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px;margin:auto;gap:4px}
.shj-v8-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;padding:4px;min-width:0;color:var(--shj-brown);font:600 20px/1.1 var(--shj-reading-font),Garamond,serif;text-align:center;text-decoration:none}
.shj-v8-nav svg{flex-shrink:0}.shj-v8-nav [aria-current]{color:var(--shj-accent);font-weight:700}.shj-v8-nav [aria-current] svg{stroke-width:2}
.shj-v8-content{padding-bottom:calc(var(--shj-nav-height,92px) + 32px)}
.shj-v8-workspace :is(input,textarea,select,button,a,summary){scroll-margin-block:24px calc(var(--shj-nav-height,92px) + 24px)}
.shj-v8-workspace.shj-keyboard-open .shj-v8-nav{display:none}
.v8-home{max-width:1136px;margin:auto}
.v8-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 32px}
.v8-welcome p{margin-bottom:8px;max-width:36ch}
.v8-welcome h2{margin:0;font-size:clamp(36px,4vw,52px)}
.v8-welcome-art img{width:96px;height:96px;object-fit:contain}
.v8-next,.v8-empty{border:1px solid var(--shj-line);border-radius:6px;padding:var(--shj-panel-gutter);margin:0 0 24px;background:transparent}
.v8-next h3{margin:12px 0}.v8-next p{margin-bottom:16px}
.v8-empty h3{margin-bottom:12px}.v8-empty p{max-width:55ch}
.v8-home-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px}
.v8-home-grid>div{min-width:0}
.v8-section{margin:32px 0 0}
.shj-practice .v8-template{padding:var(--shj-panel-gutter);margin:0;border-bottom:1px solid var(--shj-line)}
.shj-practice .v8-template:last-child{border-bottom:0}
.shj-practice [data-v8-new-template]+.v8-rows{margin-top:24px}
.v8-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.v8-section-heading h3{margin:0}
.shj-practice .v8-section-heading>.shj-button{background:transparent;color:var(--shj-brown);border:1px solid var(--shj-line);padding:9px 20px;text-decoration:none}
.v8-rows{display:grid;border:1px solid var(--shj-line);border-radius:6px;overflow:hidden}
.v8-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px var(--shj-panel-gutter);min-height:80px;border-bottom:1px solid var(--shj-line);color:inherit;text-decoration:none;overflow-wrap:anywhere}
.v8-row:last-child{border-bottom:0}.v8-row:hover{background:var(--shj-grey-beige)}
.v8-row strong,.v8-row small{display:block}.v8-row small{margin-top:4px}
.v8-row-end{flex-shrink:1;max-width:35%;color:var(--shj-muted)}
.v8-row-end>span{font-size:28px;font-weight:400}
.v8-muted{color:var(--shj-muted)}
.v8-tools{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.v8-search{display:grid;gap:8px;max-width:520px;margin:24px 0}
.v8-client-heading{margin:24px 0}
.v8-invitations{list-style:none;padding:0}
.v8-invitations li,.v8-payments article{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 0;border-bottom:1px solid var(--shj-line)}
.v8-invitations small,.v8-payments small{display:block}
.v8-payments article>div:last-child{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.v8-notice{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:100;max-width:90vw;padding:16px 24px;border:1px solid var(--shj-line);border-radius:6px;background:var(--shj-grey-beige);color:var(--shj-brown)}
.shj-v8-disclosure{border:1px solid var(--shj-line);border-radius:6px;padding:12px 20px;margin:16px 0}
.shj-v8-disclosure>summary{min-height:44px;cursor:pointer}
.v8-note{padding:24px 0;border-bottom:1px solid var(--shj-line)}
.v8-note-body{white-space:pre-wrap;overflow-wrap:anywhere;max-width:60ch}
.v8-note-editor textarea{min-height:240px}
.v8-note-actions{display:flex;flex-wrap:wrap;gap:12px}
.shj-file-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.shj-file-groups>section{min-width:0}
.shj-practice .fc{--fc-border-color:var(--shj-line);--fc-page-bg-color:var(--shj-beige);--fc-neutral-bg-color:var(--shj-grey-beige);--fc-neutral-text-color:var(--shj-brown);--fc-today-bg-color:var(--shj-grey-beige);--fc-event-bg-color:var(--shj-brown);--fc-event-border-color:var(--shj-brown);--fc-event-text-color:var(--shj-beige);--fc-button-bg-color:var(--shj-accent);--fc-button-border-color:var(--shj-accent);--fc-button-text-color:var(--shj-beige);--fc-button-hover-bg-color:var(--shj-accent);--fc-button-active-bg-color:var(--shj-accent);--fc-now-indicator-color:var(--shj-pink);font:inherit;margin-top:24px}
.shj-practice .fc .fc-toolbar{flex-wrap:wrap;gap:16px}.shj-practice .fc .fc-toolbar-title{font:500 28px var(--shj-reading-font)}
.shj-practice .fc .fc-event-main{color:var(--shj-beige)}.shj-practice .fc .fc-button{font-size:18px}
.shj-practice .fc .fc-list-event-title a{display:block;padding:12px 0;color:var(--shj-brown)}
.shj-practice .fc .v8-cancelled{text-decoration:line-through;opacity:.65}
.shj-practice .fc .fc-button-active{outline:2px solid var(--shj-pink);outline-offset:2px}
@media(max-width:900px){.shj-v8-header-inner{flex-wrap:wrap;padding:12px 20px;gap:12px}.shj-v8-content{padding:28px 20px calc(var(--shj-nav-height,92px) + 32px)}.v8-home-grid,.shj-file-groups{grid-template-columns:minmax(0,1fr);gap:0}.v8-welcome-art img{width:64px;height:80px}}
@media(max-width:600px){.v8-welcome{margin-bottom:24px}.v8-row{padding-block:16px;align-items:flex-start}.v8-section{margin-top:28px}.shj-v8-content{padding-inline:20px}.v8-row-end{max-width:28%}.shj-practice .fc .fc-view-harness{overflow-x:auto}.shj-practice .fc :is(.fc-timeGridWeek-view,.fc-dayGridMonth-view){min-width:760px}}

.shj-book{display:flex;align-items:center;gap:24px;margin:24px 0}.shj-book img{width:120px;height:auto;object-fit:contain;box-shadow:0 3px 8px #4d3c1a20}.shj-book figcaption{font-size:28px}.shj-book-choice{border-top:1px solid var(--shj-line);padding-block:16px}.shj-book-choice summary{cursor:pointer;min-height:44px}.shj-book-choice form{max-width:540px;margin-top:16px}

.shj-component-app-shell{max-width:none}.shj-component-app-shell>.shj-intro{display:none}
.shj-practice .shj-room-main{display:block}.shj-disclosure{border-top:1px solid var(--shj-line);padding:0}.shj-disclosure:last-child{border-bottom:1px solid var(--shj-line)}
.shj-disclosure>summary{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:16px 0;cursor:pointer;list-style:none;font-size:26px;font-weight:500}
.shj-disclosure>summary::-webkit-details-marker{display:none}.shj-disclosure>summary::after{content:'+';font:400 24px/1 serif}.shj-disclosure[open]>summary::after{content:'−'}
.shj-disclosure>.shj-component{padding:8px 0 24px}.shj-disclosure>.shj-component>h2{display:none}.shj-disclosure .shj-practice{padding-inline:0}
.shj-room-heading dl{font-size:18px}.shj-room-heading{gap:24px}.shj-room-heading p{margin-bottom:0}

.shj-practice .shj-room-heading{align-items:flex-start;margin-bottom:16px;padding-bottom:16px}.shj-room-heading dl{display:flex;gap:20px;margin:0}.shj-practice .shj-room-heading :is(dt,dd){font-size:20px}.shj-room-heading dt{font-weight:500}
.shj-book{margin:16px 0}.shj-book img{width:88px}.shj-book-choice{padding-block:8px}.shj-room-main{margin-top:16px}
@media(max-width:640px){.shj-room-heading dl{gap:24px}.shj-practice .shj-room-heading{gap:12px}.shj-v8-content{padding-top:24px}.shj-book img{width:72px}.shj-book figcaption{font-size:26px}}

/* The shell owns the outer gutter; Elementor must not add another inset. */
.shj-v8-content>.elementor .e-con:has(.shj-practice){--padding-left:0px;--padding-right:0px;padding-inline:0}
.shj-v8-content>.elementor .elementor-widget-container:has(>.shj-practice){padding-inline:0}
.shj-v8-content .shj-component{margin-inline:0;max-width:none}

/* A quiet arrival, using the supplied I AWAKE mark and the common rhythm. */
.shj-welcome-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,112px);align-items:center;padding-block:24px 48px}
.shj-welcome-intro{max-width:480px}.shj-practice .shj-welcome-mark{display:block;width:144px;height:144px;object-fit:contain;mix-blend-mode:multiply;margin:0 0 24px -12px}
.shj-practice .shj-welcome-eyebrow{font-size:18px;font-weight:600;letter-spacing:.04em;color:var(--shj-muted);margin-bottom:12px}
.shj-practice .shj-welcome-intro h1{font-size:clamp(44px,5vw,64px);max-width:10ch;margin-bottom:24px}
.shj-practice .shj-welcome-copy{max-width:30ch;line-height:1.5}
.shj-welcome-choice{padding:28px 0;border-top:1px solid var(--shj-line)}.shj-welcome-choice:first-child{border-top:0}.shj-practice .shj-welcome-choice h2{font-size:32px;max-width:20ch}.shj-practice .shj-welcome-choice p:not(.shj-welcome-eyebrow){max-width:34ch;margin-bottom:20px}.shj-welcome-choice .shj-button{min-width:170px}
.shj-practice .shj-welcome-note{color:var(--shj-muted);margin-top:8px}
@media(max-width:700px){.shj-welcome-layout{grid-template-columns:1fr;gap:24px;padding-block:0 16px}.shj-practice .shj-welcome-mark{width:100px;height:100px;margin:0 0 16px -8px}.shj-practice .shj-welcome-intro h1{max-width:none;font-size:44px}.shj-welcome-choice:first-child{border-top:1px solid var(--shj-line)}.shj-welcome-choice{padding-block:24px}.shj-welcome-choice .shj-button{width:100%}}

.shj-demo-banner{border-bottom:1px solid var(--shj-line);margin-bottom:24px}.shj-demo-action{margin:0}.shj-demo-banner p{margin:8px 0}.shj-demo-banner .shj-action-row{margin:12px 0}

/* Feature the selected book without cropping its original cover artwork. */
.shj-practice .shj-book{align-items:center;flex-wrap:wrap;gap:32px;margin-block:24px}
.shj-practice .shj-book img{height:500px;width:auto;max-width:100%;object-fit:contain}
@media(max-width:640px){.shj-practice .shj-book{gap:20px}.shj-practice .shj-book img{width:144px;height:auto}.shj-practice .shj-book figcaption{flex:1;min-width:120px}}
.shj-v8-footer-links a{border:1px solid var(--shj-line);border-radius:5px;padding:9px 16px;text-decoration:none;margin-block:8px}


/* Version 15 setup and room orientation use the existing component rhythm. */
.v15-setup{margin-top:32px;border:1px solid var(--shj-line);padding:var(--shj-panel-gutter);border-radius:6px}
.v15-setup>summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;cursor:pointer;min-height:44px;align-items:center;font-size:28px}
.v15-setup-grid{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.v15-setup-grid>li{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--shj-line);border-radius:6px}
.v15-setup-grid>li .shj-button{align-self:flex-start;margin-top:auto}
.v15-room-overview{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px 16px}
.shj-practice .v15-space-privacy{max-width:65ch;color:var(--shj-muted)}
@media(max-width:700px){.v15-setup-grid{grid-template-columns:1fr}.v15-setup-grid>li{padding:20px}.v15-setup{padding:20px}}

.v15-tour-trigger{margin-left:auto}.v15-tour-trigger+.shj-v8-account{margin-left:0}.v15-tour-body{padding-top:24px}.v15-tour-body [data-tour-step]{outline:none;min-height:180px}.v15-tour .shj-action-row{margin-top:24px}.v15-tour [data-tour-progress]{margin-bottom:12px}

/* Navigation is plain text; content actions retain their button styling. */
.shj-v8-header .shj-v8-account nav a.shj-menu-link{display:flex;width:100%;justify-content:flex-start;min-height:44px;padding:10px 0;margin:0;border:0;border-bottom:1px solid var(--shj-line);border-radius:0;background:transparent;box-shadow:none;text-decoration:none;color:var(--shj-brown);font-size:20px;line-height:1.3}
.shj-v8-header .shj-v8-account nav a.shj-menu-link:last-child{border-bottom:0}
.shj-work-header{display:flex;align-items:center;gap:20px;margin-left:auto;min-width:0}
.shj-work-header>a.shj-menu-link{display:flex;align-items:center;min-height:44px;padding:8px 0;border:0;background:transparent;text-decoration:none;color:var(--shj-brown);font-size:20px;white-space:nowrap}
.shj-work-header .shj-work-tools{margin-left:0}.shj-work-header~.v15-tour-trigger{margin-left:0}
.shj-menu-link:hover{color:var(--shj-accent)!important}.shj-menu-link:focus-visible{outline:2px solid var(--shj-accent);outline-offset:3px}
@media(max-width:1100px){.shj-v8-header-inner{flex-wrap:wrap}.shj-work-header{order:4;flex-basis:100%;flex-wrap:wrap;margin:0;gap:8px 24px;border-top:1px solid var(--shj-line);padding-top:8px}.shj-work-header~.v15-tour-trigger{margin-left:auto}.shj-work-header{position:relative}.shj-work-tools{position:static}.shj-work-tools nav{right:0;top:calc(100% + 8px)}}

/* Task-based help, independent of optional onboarding completion. */
.shj-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.2rem}.shj-help-grid article{padding:1.3rem;border:1px solid #d8ccba;border-radius:12px}.shj-help-grid h2{font-size:1.2em}.shj-help li{margin-bottom:1rem}.shj-context-help{margin:.5rem 0 1.2rem}.shj-calendar-export{margin:1.5rem 0;padding:1.2rem;border:1px solid #d8ccba;border-radius:12px}

.shj-speaker-message{border-left:4px solid var(--speaker-accent,#756c5e)!important;background:color-mix(in srgb,var(--speaker-accent,#756c5e) 9%,#fffdf8);padding:1rem;border-radius:4px 12px 12px 4px}.shj-inline-response textarea,[data-shj-form=group_post] textarea{border-left:4px solid var(--shj-discussion-accent,#5e6a54);background:color-mix(in srgb,var(--shj-discussion-accent,#5e6a54) 6%,#fffdf8)}
