/* Rich teachings and private appointments */
.teaching-title-row,
.appointment-title-row { align-items:flex-start; }
.teaching-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.teaching-search { height:43px; }
.teaching-search input { width:130px; }
#favoriteTeachingsButton.active { border-color:rgba(229,143,117,.28); color:#f0aa95; background:rgba(229,143,117,.08); }
.featured-library { width:100%; border:0; text-align:left; cursor:pointer; transition:transform .22s ease, box-shadow .22s ease; }
.featured-library:hover { transform:translateY(-2px); box-shadow:0 24px 70px rgba(0,0,0,.23); }
.featured-library:focus-visible { outline:2px solid var(--cream); outline-offset:3px; }
.teaching-library-heading { align-items:center; }
.rich-teaching-card { cursor:pointer; }
.rich-teaching-card:focus-visible,
.appointment-card:focus-visible { outline:2px solid var(--cream); outline-offset:3px; }
.teaching-card-favorite { position:absolute; z-index:4; top:12px; right:12px; width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.15); border-radius:50%; color:#dce6e1; background:rgba(10,11,14,.55); backdrop-filter:blur(8px); cursor:pointer; }
.teaching-card-favorite svg { width:15px; }
.teaching-card-favorite.active { color:#f2a78f; background:rgba(101,49,42,.72); }
.teaching-card-favorite.active svg,
#teachingFavoriteButton.active svg { fill:currentColor; }
.rich-teaching-card .group-badge { max-width:calc(100% - 60px); }
.teaching-series { display:block; margin-bottom:7px; color:var(--green); font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:1px; }
.draft-badge { position:absolute; z-index:3; left:12px; bottom:11px; padding:5px 8px; border-radius:7px; color:var(--ink); background:var(--cream); font-size:8px; font-weight:800; text-transform:uppercase; }
.empty-teachings,
.empty-appointments,
.empty-prayers { grid-column:1/-1; min-height:260px; display:grid; place-items:center; align-content:center; gap:8px; padding:35px; border:1px dashed var(--line-strong); border-radius:20px; color:var(--muted); text-align:center; }
.empty-teachings > span,
.empty-appointments > span,
.empty-prayers > span { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; color:var(--green-bright); background:rgba(190,194,203,.08); }
.empty-teachings h3,
.empty-appointments h3,
.empty-prayers h3 { margin:5px 0 0; color:var(--text); font:700 17px "Manrope"; }
.empty-teachings p,
.empty-appointments p,
.empty-prayers p { margin:0 0 10px; font-size:10px; }

/* Private teaching drafts */
.teaching-drafts { margin:24px 0 30px; padding:20px; border:1px solid rgba(232,224,207,.14); border-radius:20px; background:linear-gradient(145deg,rgba(232,224,207,.045),rgba(255,255,255,.012)); }
.teaching-drafts-heading { margin-bottom:14px; }
.teaching-drafts-heading p { margin:5px 0 0; color:var(--muted-2); font-size:9px; }
.draft-count { min-width:31px; height:31px; display:grid; place-items:center; border-radius:10px; color:#17191e; background:var(--cream); font:700 10px "Manrope"; }
.teaching-draft-list { display:grid; gap:9px; }
.teaching-draft-row { display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:14px; padding:11px; border:1px solid var(--line); border-radius:15px; background:rgba(5,6,9,.3); cursor:pointer; transition:border-color .18s ease, transform .18s ease, background .18s ease; }
.teaching-draft-row:hover { transform:translateY(-1px); border-color:rgba(232,224,207,.2); background:rgba(255,255,255,.028); }
.teaching-draft-row:focus-visible { outline:2px solid var(--cream); outline-offset:2px; }
.teaching-draft-cover { width:62px; height:62px; display:grid; place-items:center; border-radius:12px; color:#fff; font:700 19px "Manrope"; box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); }
.teaching-draft-copy { min-width:0; }
.teaching-draft-copy > div:first-child { display:flex; align-items:center; gap:7px; margin-bottom:4px; color:var(--muted-2); font-size:7px; font-weight:700; text-transform:uppercase; letter-spacing:.7px; }
.teaching-draft-copy > div:first-child b { padding:3px 6px; border-radius:6px; color:var(--cream); background:rgba(232,224,207,.08); }
.teaching-draft-copy h3 { margin:0; overflow:hidden; color:var(--text); font:700 12px "Manrope"; white-space:nowrap; text-overflow:ellipsis; }
.teaching-draft-copy p { margin:4px 0 8px; overflow:hidden; color:var(--muted-2); font-size:8px; white-space:nowrap; text-overflow:ellipsis; }
.teaching-draft-progress { width:min(260px,100%); height:3px; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.07); }
.teaching-draft-progress i { display:block; height:100%; border-radius:inherit; background:var(--cream); }
.teaching-draft-actions { display:flex; gap:7px; }
.teaching-draft-actions button { min-height:34px; padding:0 11px; font-size:8px; }
.teaching-draft-actions svg { width:13px; }

/* Teaching studio */
.studio-backdrop { z-index:150; padding:0; }
.teaching-studio-modal { width:min(1160px,100%); max-height:100vh; min-height:100vh; padding:0; border:0; border-radius:0; background:#101216; }
.studio-header { position:sticky; top:0; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:108px; padding:24px clamp(22px,4vw,52px); border-bottom:1px solid var(--line); background:rgba(16,18,22,.96); backdrop-filter:blur(18px); }
.studio-header h2 { margin:4px 0 4px; font:700 27px/1.2 "Manrope"; letter-spacing:-.8px; }
.studio-header p:last-child { margin:0; color:var(--muted); font-size:10px; }
.studio-save-state { display:flex; align-items:center; gap:18px; color:var(--muted-2); font-size:9px; }
.studio-close { position:static; flex:0 0 auto; }
.teaching-studio-modal form { width:min(980px,calc(100% - 44px)); margin:0 auto; padding:32px 0 0; }
.studio-section { margin-bottom:18px; padding:25px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.032),rgba(255,255,255,.012)); }
.studio-section-title { display:flex; align-items:center; gap:13px; margin-bottom:22px; }
.studio-section-title > span { width:35px; height:35px; display:grid; place-items:center; flex:0 0 auto; border-radius:11px; color:var(--cream); background:rgba(240,223,187,.075); font:700 10px "Manrope"; }
.studio-section-title > div { flex:1; }
.studio-section-title h3 { margin:0; font:700 15px "Manrope"; }
.studio-section-title p { margin:4px 0 0; color:var(--muted-2); font-size:9px; }
.studio-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.studio-wide { grid-column:1/-1; }
.studio-section .field small { color:var(--muted-2); font-size:8px; font-weight:400; }
.studio-type-field { position:relative; }
.studio-select { position:relative; }
.studio-select-trigger { width:100%; min-height:43px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 12px; border:1px solid var(--line); border-radius:11px; outline:0; color:var(--text); background:rgba(255,255,255,.028); font:700 11px "Manrope"; text-align:left; cursor:pointer; transition:border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.studio-select-trigger:hover { border-color:rgba(240,223,187,.22); background:rgba(255,255,255,.044); }
.studio-select-trigger:focus-visible,
.studio-select.open .studio-select-trigger { border-color:rgba(240,223,187,.54); background:rgba(240,223,187,.055); box-shadow:0 0 0 3px rgba(240,223,187,.09); }
.studio-select-trigger svg { width:15px; flex:0 0 auto; color:var(--cream); transition:transform .18s ease; }
.studio-select.open .studio-select-trigger svg { transform:rotate(180deg); }
.studio-select-menu { position:absolute; z-index:20; top:calc(100% + 8px); left:0; width:100%; overflow:hidden; padding:6px; border:1px solid rgba(240,223,187,.2); border-radius:14px; background:#1a1d23; box-shadow:0 20px 45px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.035); animation:studioSelectIn .16s ease both; }
.studio-select-option { width:100%; min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; border:0; border-radius:10px; color:var(--text); background:transparent; text-align:left; cursor:pointer; transition:background .16s ease, color .16s ease; }
.studio-select-option:hover,
.studio-select-option:focus-visible { outline:0; color:#fff; background:rgba(240,223,187,.09); }
.studio-select-option[aria-selected="true"] { color:var(--cream); background:rgba(240,223,187,.075); }
.studio-select-option > span { display:grid; gap:3px; }
.studio-select-option strong { font:700 10px "Manrope"; }
.studio-select-option small { color:var(--muted-2); font-size:8px; font-weight:500; line-height:1.35; }
.studio-select-option[aria-selected="true"] small { color:rgba(240,223,187,.65); }
.studio-select-option svg { width:15px; flex:0 0 auto; color:var(--cream); opacity:0; }
.studio-select-option[aria-selected="true"] svg { opacity:1; }
.field > .app-select { display:block; width:100%; margin-bottom:0; }
.app-select .studio-select-trigger { box-sizing:border-box; }
.app-select .studio-select-menu { box-sizing:border-box; max-height:286px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(240,223,187,.26) transparent; }
.app-select.opens-upward .studio-select-menu { top:auto; bottom:calc(100% + 8px); transform-origin:center bottom; }
.app-select .studio-select-option { min-height:47px; }
.app-select .studio-select-option:focus-visible { box-shadow:inset 0 0 0 1px rgba(240,223,187,.28); }
.app-select .studio-select-option[aria-disabled="true"] { opacity:.42; cursor:not-allowed; }
.app-select.is-disabled .studio-select-trigger { opacity:.48; cursor:not-allowed; }
.app-select-value { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.app-select-empty { display:block; padding:13px 11px; color:var(--muted-2); font-size:9px; text-align:center; }
@keyframes studioSelectIn { from { opacity:0; transform:translateY(-5px) scale(.985); } to { opacity:1; transform:none; } }
.input-with-suffix { display:flex; align-items:center; border:1px solid var(--line); border-radius:11px; background:rgba(255,255,255,.028); }
.input-with-suffix:focus-within { border-color:rgba(240,223,187,.32); }
.input-with-suffix input { border:0; background:transparent; }
.input-with-suffix > span { padding-right:12px; color:var(--muted-2); font-size:9px; }
.duration-control input { min-width:0; flex:1 1 auto; appearance:textfield; -moz-appearance:textfield; }
.duration-control input::-webkit-outer-spin-button,
.duration-control input::-webkit-inner-spin-button { margin:0; appearance:none; -webkit-appearance:none; }
.duration-control > .app-select { flex:0 0 116px; }
.duration-control > .app-select .studio-select-trigger { min-height:41px; padding:0 11px; border:0; border-left:1px solid var(--line); border-radius:0 10px 10px 0; background:rgba(255,255,255,.018); box-shadow:none; }
.duration-control > .app-select.open .studio-select-trigger,
.duration-control > .app-select .studio-select-trigger:focus-visible { border-left-color:rgba(240,223,187,.32); background:rgba(240,223,187,.045); box-shadow:none; }
.duration-control > .app-select .studio-select-menu { right:0; left:auto; width:164px; }
.duration-control > .app-select .studio-select-option { min-height:40px; }
.compact-button { min-height:36px; padding:0 11px; font-size:9px; }
.outline-editor { display:grid; gap:12px; }
.outline-editor-card { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:rgba(4,5,8,.3); }
.outline-editor-card > header { display:grid; grid-template-columns:34px minmax(0,1fr) 82px 34px; align-items:center; gap:9px; padding:11px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.018); }
.outline-editor-card > header > span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:var(--green-bright); background:rgba(190,194,203,.08); font-size:9px; font-weight:700; }
.outline-title-input { min-width:0; height:36px; padding:0 10px; border:1px solid transparent; border-radius:9px; outline:0; color:var(--text); background:transparent; font:700 12px "Manrope"; }
.outline-title-input:focus { border-color:var(--line-strong); background:rgba(255,255,255,.03); }
.outline-editor-card > header label { display:flex; align-items:center; height:35px; padding:0 7px; border:1px solid var(--line); border-radius:9px; }
.outline-editor-card > header input[type="number"] { min-width:0; width:100%; border:0; outline:0; color:var(--text); background:transparent; font-size:10px; }
.outline-editor-card > header small { color:var(--muted-2); font-size:8px; }
.remove-outline-section { width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:9px; color:var(--muted-2); background:transparent; cursor:pointer; }
.remove-outline-section:hover { color:#f0a08d; background:rgba(229,143,117,.08); }
.remove-outline-section svg { width:14px; }
.outline-editor-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; padding:14px; }
.outline-editor-fields .field { margin-bottom:0!important; }
.outline-editor-fields .field textarea { min-height:115px; }
.outline-passage-field { grid-column:1/-1; margin-top:12px!important; }
.private-field > span { color:#d6ccec; }
.private-field > span svg { width:13px; height:13px; vertical-align:-3px; margin-right:4px; }
.private-field textarea,
.private-note-editor textarea { border-color:rgba(175,163,217,.16); background:rgba(175,163,217,.035); }
.file-drop { min-height:115px; display:flex!important; align-items:center; justify-content:center; gap:14px; margin:0!important; padding:20px; border:1px dashed rgba(190,194,203,.28)!important; border-radius:15px; color:var(--text)!important; background:rgba(190,194,203,.035); cursor:pointer; text-align:left; }
.file-drop:hover { border-color:rgba(240,223,187,.38)!important; background:rgba(190,194,203,.06); }
.file-drop > svg { width:26px; height:26px; color:var(--green-bright); }
.file-drop span strong,
.file-drop span small { display:block; }
.file-drop span strong { font-size:11px; }
.file-drop span small { margin-top:5px; color:var(--muted-2); font-size:8px; }
.file-drop input { position:absolute; width:1px; height:1px; opacity:0; }
.pending-files { display:grid; gap:7px; margin-top:10px; }
.pending-files article { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); border-radius:11px; }
.pending-files article > span { width:30px; height:30px; display:grid; place-items:center; color:var(--green-bright); border-radius:8px; background:rgba(190,194,203,.07); }
.pending-files article > span svg { width:14px; }
.pending-files article > div { flex:1; min-width:0; }
.pending-files strong,
.pending-files small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.pending-files strong { font-size:9px; }
.pending-files small { margin-top:3px; color:var(--muted-2); font-size:8px; }
.pending-files button { border:0; color:var(--muted-2); background:transparent; cursor:pointer; }
.pending-files button svg { width:14px; }
.resource-link-fields { margin-top:16px; }
.studio-publication { margin-bottom:110px; }
.publication-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.publication-options .toggle-row { margin:0!important; }
.studio-footer { position:sticky; z-index:9; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:22px; margin:0 calc((100vw - min(1160px,100vw))/2 * -1); padding:16px clamp(22px,4vw,52px); border-top:1px solid var(--line-strong); background:rgba(13,15,19,.97); backdrop-filter:blur(18px); box-shadow:0 -15px 45px rgba(0,0,0,.2); }
.studio-footer > div:first-child { min-width:190px; color:var(--muted); font-size:9px; }
.studio-footer > div:last-child { display:flex; gap:9px; }
.studio-progress { width:190px; height:4px; margin-top:7px; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.08); }
.studio-progress i { display:block; height:100%; width:0; background:var(--cream); transition:width .2s ease; }
.teaching-block-picker { margin:0 0 18px; padding:23px; border:1px dashed rgba(232,224,207,.2); border-radius:20px; background:linear-gradient(145deg,rgba(232,224,207,.045),rgba(255,255,255,.012)); }
.teaching-block-picker > div:first-child h3 { margin:4px 0 4px; font:700 17px "Manrope"; }
.teaching-block-picker > div:first-child p { margin:0 0 17px; color:var(--muted-2); font-size:9px; }
.teaching-block-picker-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.teaching-block-picker-grid button { min-width:0; min-height:68px; display:flex; align-items:center; gap:10px; padding:11px; border:1px solid var(--line); border-radius:13px; color:var(--text); background:rgba(255,255,255,.018); text-align:left; cursor:pointer; transition:.18s ease; }
.teaching-block-picker-grid button:hover { transform:translateY(-1px); border-color:rgba(232,224,207,.28); background:rgba(232,224,207,.055); }
.teaching-block-picker-grid button > svg { width:18px; height:18px; flex:0 0 auto; color:var(--cream); }
.teaching-block-picker-grid button span { min-width:0; }
.teaching-block-picker-grid button strong,
.teaching-block-picker-grid button small { display:block; }
.teaching-block-picker-grid button strong { font:700 9px "Manrope"; }
.teaching-block-picker-grid button small { margin-top:3px; color:var(--muted-2); font-size:7px; line-height:1.35; }
.teaching-block-picker-grid button.added { opacity:.55; border-color:rgba(232,224,207,.18); background:rgba(232,224,207,.06); cursor:default; }
.teaching-block-picker-grid button.added::after { content:"Ajouté"; margin-left:auto; color:var(--cream); font-size:7px; font-weight:700; }
.teaching-studio-modal [hidden],
.teaching-drawer [hidden] { display:none!important; }
.teaching-studio-modal[data-studio-mode="create"] { width:min(690px,calc(100% - 32px)); min-height:0; max-height:calc(100vh - 32px); border:1px solid var(--line-strong); border-radius:22px; }
.teaching-studio-modal[data-studio-mode="create"] .studio-header { min-height:105px; padding:22px 26px; }
.teaching-studio-modal[data-studio-mode="create"] form { width:calc(100% - 44px); padding:22px 0 0; }
.teaching-studio-modal[data-studio-mode="create"] .studio-section { padding:21px; }
.teaching-studio-modal[data-studio-mode="create"] .studio-footer { margin:0; padding:15px 0 20px; border-top:0; background:#101216; box-shadow:none; }
.teaching-studio-modal[data-studio-mode="create"] .studio-footer > div:first-child { display:none; }
.teaching-studio-modal[data-studio-mode="create"] .studio-footer > div:last-child { width:100%; justify-content:flex-end; }

/* Teaching detail */
.teaching-drawer { width:min(760px,100vw); background:#121419; }
.teaching-drawer-hero { position:relative; min-height:330px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:56px 34px 31px; background:var(--teaching-hero-bg); }
.teaching-drawer-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,8,11,.08),rgba(7,8,11,.72) 78%,rgba(7,8,11,.92)); }
.teaching-drawer-hero::after { content:""; position:absolute; width:420px; height:420px; top:-240px; right:-100px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.02),0 0 0 90px rgba(255,255,255,.012); }
.teaching-drawer-hero > * { position:relative; z-index:1; }
.teaching-drawer-badges { display:flex; align-items:center; gap:7px; margin-bottom:17px; }
.teaching-drawer-badges .soft-badge { padding:5px 8px; color:#e8eee9; border-color:rgba(255,255,255,.15); background:rgba(10,11,14,.45); }
.teaching-drawer-hero h2 { max-width:660px; margin:0 0 10px; font:700 clamp(27px,4vw,39px)/1.12 "Manrope"; letter-spacing:-1.1px; }
.teaching-drawer-hero > p { max-width:640px; margin:0; color:rgba(237,243,239,.78); font-size:11px; line-height:1.6; }
.teaching-drawer-meta { display:flex; flex-wrap:wrap; gap:13px; margin-top:17px; color:#d0dcd6; font-size:9px; }
.teaching-drawer-meta span { display:flex; align-items:center; gap:5px; }
.teaching-drawer-meta svg { width:13px; }
.teaching-hero-actions { display:flex; gap:7px; flex-wrap:wrap; margin-top:19px; }
.teaching-hero-actions .light-button { min-height:36px; padding:0 11px; font-size:9px; }
.teaching-hero-actions .light-button.active { color:#7f3d34; background:#efb49f; }
.teaching-detail-tabs { position:sticky; z-index:4; top:0; overflow-x:auto; flex-wrap:nowrap; padding:10px 20px; background:rgba(18,20,25,.95); backdrop-filter:blur(16px); }
.teaching-detail-tabs button { flex:0 0 auto; }
.teaching-drawer-status { padding:5px 8px; border:1px solid rgba(255,255,255,.15); border-radius:8px; color:#17191e; background:var(--cream); font-size:8px; font-weight:800; text-transform:uppercase; }
.teaching-drawer-content { padding:26px 30px 55px; }
.teaching-description > p { color:var(--text); font-size:12px; line-height:1.7; }
.draft-next-step { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:13px; padding:17px; border:1px solid rgba(232,224,207,.18); border-radius:16px; background:linear-gradient(145deg,rgba(232,224,207,.07),rgba(255,255,255,.018)); }
.draft-next-step > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#17191e; background:var(--cream); }
.draft-next-step > span svg { width:17px; }
.draft-next-step h3 { margin:0 0 4px; font:700 13px "Manrope"; }
.draft-next-step p { margin:0; color:var(--muted-2); font-size:9px; line-height:1.5; }
.draft-next-step button { min-height:38px; padding:0 12px; font-size:8px; }
.teaching-video { position:relative; aspect-ratio:16/9; overflow:hidden; margin-bottom:20px; border:1px solid var(--line); border-radius:17px; background:#090a0d; }
.teaching-video iframe { width:100%; height:100%; border:0; }
.teaching-video-empty { display:flex; align-items:center; justify-content:center; gap:13px; background:var(--teaching-video-bg); }
.teaching-video-empty > span { width:45px; height:45px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--cream); }
.teaching-video-empty strong,
.teaching-video-empty small { display:block; }
.teaching-video-empty small { margin-top:4px; color:rgba(255,255,255,.72); font-size:8px; }
.detail-section { margin-bottom:16px; padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.018); }
.detail-section h3 { margin:0 0 9px; font:700 16px/1.4 "Manrope"; }
.detail-section > p { margin:0; color:var(--muted); font-size:10px; line-height:1.7; }
.central-idea { border-color:rgba(240,223,187,.15); background:linear-gradient(145deg,rgba(240,223,187,.065),rgba(240,223,187,.018)); }
.central-idea h3 { margin:7px 0 8px; color:#f0e7d2; font-size:20px; }
.detail-section-heading,
.appointment-section-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:15px; }
.detail-section-heading h3,
.appointment-section-heading h3 { margin:3px 0 0; }
.detail-section-heading > span,
.appointment-section-heading > span { padding:5px 8px; border-radius:8px; color:var(--green-bright); background:rgba(190,194,203,.07); font-size:8px; }
.question-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; counter-reset:question; }
.question-list li { counter-increment:question; display:grid; grid-template-columns:30px 1fr; align-items:center; gap:10px; padding:11px; border:1px solid var(--line); border-radius:11px; color:#d8e0dc; font-size:10px; }
.question-list li::before { content:counter(question); width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:var(--cream); background:rgba(240,223,187,.07); font-size:9px; font-weight:700; }
.public-outline { display:grid; gap:9px; }
.public-outline article { display:grid; grid-template-columns:36px 1fr; gap:12px; padding:14px; border:1px solid var(--line); border-radius:13px; }
.public-outline article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--green-bright); background:rgba(190,194,203,.07); font-size:9px; }
.outline-row-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.outline-row-title h4 { margin:0; font:700 12px "Manrope"; }
.outline-row-title small { color:var(--muted-2); font-size:8px; }
.public-outline p { margin:6px 0 9px; color:var(--muted); font-size:9px; line-height:1.6; }
.public-outline b { display:flex; align-items:center; gap:5px; color:var(--cream); font-size:8px; }
.public-outline b svg { width:12px; }
.passage-list,
.resource-list,
.comment-list { display:grid; gap:8px; }
.passage-list article,
.resource-card { display:flex; align-items:center; gap:11px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.passage-list article > span,
.resource-icon { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:var(--green-bright); background:rgba(190,194,203,.075); }
.passage-list article > span svg,
.resource-icon svg { width:15px; }
.passage-list article > div,
.resource-card > div { flex:1; min-width:0; }
.passage-list h4,
.resource-card h4 { margin:0; font:700 10px "Manrope"; }
.passage-list p,
.resource-card p { margin:4px 0 0; color:var(--muted-2); font-size:8px; }
.passage-list button,
.resource-card button { padding:7px 9px; border:1px solid var(--line); border-radius:8px; color:var(--green-bright); background:transparent; font-size:8px; cursor:pointer; }
.resource-card button { display:flex; align-items:center; gap:5px; }
.resource-card button svg { width:12px; }
.content-license-note { margin-top:13px!important; color:var(--muted-2)!important; font-size:8px!important; }
.teaching-comment { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.teaching-comment.teacher-answer { border-color:rgba(240,223,187,.15); background:rgba(240,223,187,.035); }
.teaching-comment > div { flex:1; }
.teaching-comment > div > div { display:flex; align-items:center; gap:7px; }
.teaching-comment strong { font-size:9px; }
.teaching-comment b { padding:3px 5px; border-radius:5px; color:var(--cream); background:rgba(240,223,187,.08); font-size:6px; text-transform:uppercase; }
.teaching-comment small { margin-left:auto; color:var(--muted-2); font-size:7px; }
.teaching-comment p { margin:6px 0 0; color:var(--muted); font-size:9px; line-height:1.6; }
.comment-form { margin-top:16px; }
.comment-form .field { margin-bottom:8px!important; }
.comment-form button { margin-left:auto; }
.teaching-action-list { display:grid; gap:8px; }
.teaching-action { display:flex; align-items:center; gap:11px; padding:13px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.teaching-action input,
.appointment-action-list input,
.agenda-check-list input { position:absolute; opacity:0; }
.teaching-action > span,
.appointment-action-list label > span,
.agenda-check-list label > span { width:26px; height:26px; display:grid; place-items:center; flex:0 0 auto; border:1px solid var(--line-strong); border-radius:8px; color:transparent; }
.teaching-action > span svg,
.appointment-action-list label > span svg,
.agenda-check-list label > span svg { width:13px; }
.teaching-action input:checked + span,
.appointment-action-list input:checked + span,
.agenda-check-list input:checked + span { color:var(--ink); border-color:var(--green-bright); background:var(--green-bright); }
.teaching-action strong { font-size:10px; }
.teaching-action.completed strong,
.appointment-action-list label.completed strong { color:var(--muted-2); text-decoration:line-through; }
.private-pill,
.shared-pill { display:inline-flex!important; align-items:center; gap:5px; color:#d2c7ee!important; background:rgba(175,163,217,.08)!important; }
.shared-pill { color:var(--green-bright)!important; background:rgba(190,194,203,.08)!important; }
.private-pill svg,
.shared-pill svg { width:11px; }
.personal-note-section textarea { min-height:280px; }
.drawer-empty { min-height:180px; display:grid; place-items:center; align-content:center; gap:8px; color:var(--muted-2); text-align:center; }
.drawer-empty > span { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--green-bright); background:rgba(190,194,203,.07); }
.drawer-empty h3 { margin:4px 0 0; color:var(--text); font:700 15px "Manrope"; }
.drawer-empty p { max-width:360px; margin:0; font-size:9px; line-height:1.6; }
.compact-empty { min-height:80px; }

/* Document preview */
.document-preview-modal { width:min(920px,100%); }
.document-preview-heading { display:flex; align-items:center; gap:13px; padding-right:45px; }
.document-preview-heading .modal-icon { margin:0; flex:0 0 auto; }
.document-preview-heading h2 { margin:3px 0; font-size:19px; }
.document-preview-heading p:last-child { margin:0; color:var(--muted-2); font-size:8px; }
.document-preview-frame { height:min(62vh,620px); overflow:auto; margin:20px 0 14px; border:1px solid var(--line); border-radius:14px; background:#f0f0ec; }
.document-preview-frame iframe,
.document-preview-frame img { display:block; width:100%; height:100%; border:0; object-fit:contain; }
.document-preview-frame pre { min-height:100%; margin:0; padding:26px; color:#26322e; background:#f6f5ef; font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; }

/* Sermon mode */
.sermon-mode { position:fixed; z-index:300; inset:0; display:none; grid-template-rows:auto 4px 1fr auto; color:#f7f3e8; background:radial-gradient(circle at 70% 0,rgba(100,104,120,.13),transparent 35%),#08090c; }
.sermon-mode.open { display:grid; }
.sermon-mode > header { display:flex; align-items:center; gap:24px; padding:20px 28px; border-bottom:1px solid rgba(255,255,255,.08); }
.sermon-mode > header > div:first-child { flex:1; }
.sermon-mode > header h2 { margin:4px 0 0; font:700 18px "Manrope"; }
.sermon-timer { display:flex; align-items:center; gap:10px; }
.sermon-timer span { min-width:72px; color:var(--cream); font:700 22px ui-monospace,SFMono-Regular,Consolas,monospace; }
.sermon-timer button { padding:7px 10px; border:1px solid rgba(255,255,255,.12); border-radius:8px; color:#d8e1dc; background:transparent; font-size:9px; cursor:pointer; }
.sermon-progress { background:rgba(255,255,255,.07); }
.sermon-progress i { display:block; width:0; height:100%; background:linear-gradient(90deg,#a6aab4,var(--cream)); transition:width .25s ease; }
.sermon-layout { min-height:0; display:grid; grid-template-columns:310px 1fr; }
.sermon-layout > aside { overflow:auto; padding:28px 18px 28px 28px; border-right:1px solid rgba(255,255,255,.08); }
#sermonOutlineNav { display:grid; gap:6px; margin-top:14px; }
#sermonOutlineNav button { display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:8px; padding:11px; border:1px solid transparent; border-radius:11px; color:#92969f; background:transparent; text-align:left; cursor:pointer; }
#sermonOutlineNav button.active { color:#f5f1e7; border-color:rgba(240,223,187,.16); background:rgba(240,223,187,.065); }
#sermonOutlineNav button span { font-size:8px; }
#sermonOutlineNav button strong { font:600 10px "Manrope"; }
#sermonOutlineNav button small { font-size:7px; }
.sermon-layout > main { overflow:auto; padding:clamp(34px,6vh,70px) clamp(35px,7vw,100px); }
.sermon-section-count { color:var(--green); font-size:10px; text-transform:uppercase; letter-spacing:1.4px; }
.sermon-layout main h1 { max-width:1050px; margin:13px 0 25px; font:700 clamp(36px,5vw,70px)/1.05 "Manrope"; letter-spacing:-2px; }
.sermon-public-copy { max-width:1020px; color:#dedfe3; font:400 clamp(20px,2.2vw,31px)/1.55 "DM Sans"; }
.sermon-speaker-note { max-width:920px; margin-top:36px; padding:20px; border:1px solid rgba(175,163,217,.18); border-radius:14px; background:rgba(175,163,217,.055); }
.sermon-speaker-note span { display:flex; align-items:center; gap:6px; color:#c9bde9; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1px; }
.sermon-speaker-note span svg { width:13px; }
.sermon-speaker-note p { margin:10px 0 0; color:#c5cbd0; font-size:14px; line-height:1.65; }
.sermon-passage { display:flex; align-items:center; gap:8px; margin-top:22px; color:var(--cream); font-size:14px; }
.sermon-passage svg { width:18px; }
.sermon-mode > footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 28px; border-top:1px solid rgba(255,255,255,.08); background:#0b0c10; }
.sermon-mode > footer span { color:#727680; font-size:8px; }
.sermon-mode button:disabled { opacity:.35; cursor:not-allowed; transform:none; }

/* Appointments */
.prototype-warning { display:flex; align-items:center; gap:10px; margin:-10px 0 22px; padding:10px 13px; border:1px solid rgba(229,143,117,.16); border-radius:11px; color:#c9ada5; background:rgba(229,143,117,.04); font-size:8px; line-height:1.5; }
.prototype-warning svg { flex:0 0 auto; width:14px; color:#e4a38f; }
.appointment-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-bottom:24px; }
.appointment-stats article { display:flex; align-items:center; gap:12px; padding:15px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.018); }
.appointment-stat-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:var(--green-bright); background:rgba(190,194,203,.08); }
.appointment-stat-icon.pending { color:#efaa95; background:rgba(229,143,117,.08); }
.appointment-stat-icon.actions { color:#c4b8ea; background:rgba(175,163,217,.08); }
.appointment-stat-icon svg { width:17px; }
.appointment-stats strong,
.appointment-stats small { display:block; }
.appointment-stats strong { font:700 20px "Manrope"; }
.appointment-stats small { margin-top:3px; color:var(--muted); font-size:8px; }
.appointment-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.appointment-filters { display:flex; gap:5px; padding:4px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.012); }
.appointment-filters button { min-height:31px; padding:0 11px; border:0; border-radius:8px; color:var(--muted-2); background:transparent; font-size:9px; cursor:pointer; }
.appointment-filters button.active { color:var(--text); background:var(--panel-3); }
.appointment-list { display:grid; gap:11px; }
.appointment-card { display:grid; grid-template-columns:78px minmax(0,1fr) minmax(190px,auto); align-items:center; gap:17px; min-height:138px; padding:15px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(120deg,rgba(255,255,255,.034),rgba(255,255,255,.012)); cursor:pointer; transition:.2s ease; }
.appointment-card:hover { transform:translateY(-2px); border-color:var(--line-strong); box-shadow:0 14px 35px rgba(0,0,0,.13); }
.appointment-date-tile { min-height:104px; display:grid; place-items:center; align-content:center; border-radius:14px; color:var(--ink); background:linear-gradient(145deg,#e7d5b0,#adb1ba); }
.appointment-date-tile strong { font:700 28px/1 "Manrope"; }
.appointment-date-tile span { margin-top:3px; font-size:9px; font-weight:700; text-transform:uppercase; }
.appointment-date-tile small { margin-top:9px; padding-top:7px; border-top:1px solid rgba(20,32,29,.13); font-size:8px; }
.appointment-card-main { min-width:0; }
.appointment-card-top { display:flex; align-items:center; gap:8px; }
.appointment-kind { display:inline-flex; width:fit-content; padding:5px 7px; border-radius:7px; color:var(--green-bright); background:rgba(190,194,203,.07); font-size:7px; font-weight:700; text-transform:uppercase; letter-spacing:.7px; }
.appointment-status { display:inline-flex; padding:5px 7px; border-radius:7px; font-size:7px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; }
.appointment-status.pending { color:#efad99; background:rgba(229,143,117,.09); }
.appointment-status.accepted { color:#9fc4b1; background:rgba(117,166,142,.10); }
.appointment-status.completed { color:#b9b2d8; background:rgba(175,163,217,.08); }
.appointment-status.declined,
.appointment-status.cancelled { color:#9aaaa5; background:rgba(255,255,255,.04); }
.appointment-card h3 { margin:9px 0 5px; font:700 15px "Manrope"; }
.appointment-card-main > p { margin:0; overflow:hidden; color:var(--muted); font-size:9px; line-height:1.5; white-space:nowrap; text-overflow:ellipsis; }
.appointment-card-meta { display:flex; flex-wrap:wrap; gap:12px; margin-top:11px; color:var(--muted-2); font-size:8px; }
.appointment-card-meta span { display:flex; align-items:center; gap:5px; }
.appointment-card-meta svg { width:12px; }
.appointment-card-person { display:flex; align-items:center; gap:9px; min-width:190px; padding-left:17px; border-left:1px solid var(--line); }
.appointment-card-person > div { flex:1; min-width:0; }
.appointment-card-person strong,
.appointment-card-person small { display:block; }
.appointment-card-person strong { font-size:9px; }
.appointment-card-person small { margin-top:4px; color:var(--muted-2); font-size:7px; }
.appointment-card-person > svg { width:14px; color:var(--muted-2); }

/* Appointment form and detail */
.appointment-create-modal { width:min(820px,100%); }
.appointment-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 13px; }
.appointment-wide { grid-column:1/-1; }
.appointment-modal-icon { color:#c5bae8; background:rgba(175,163,217,.1); }
.privacy-mini { display:flex; gap:10px; margin:3px 0 18px; padding:12px; border:1px solid rgba(175,163,217,.14); border-radius:11px; background:rgba(175,163,217,.035); }
.privacy-mini svg { flex:0 0 auto; width:16px; color:#c9bde9; }
.privacy-mini p { margin:0; color:var(--muted); font-size:8px; line-height:1.55; }
.privacy-mini strong { color:#dce3df; }
.appointment-drawer { width:min(660px,100vw); background:#121419; }
.appointment-drawer-hero { position:relative; min-height:300px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:60px 30px 27px; background:radial-gradient(circle at 80% 0,rgba(189,165,116,.17),transparent 35%),linear-gradient(145deg,#1b1d23,#2a2d35); }
.appointment-drawer-hero::after { content:""; position:absolute; width:360px; height:360px; top:-210px; right:-80px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.018),0 0 0 82px rgba(255,255,255,.01); }
.appointment-drawer-hero > * { position:relative; z-index:1; }
.appointment-hero-top { display:flex; align-items:center; gap:8px; margin-bottom:13px; }
.appointment-drawer-hero h2 { margin:0 0 9px; font:700 30px/1.15 "Manrope"; letter-spacing:-.8px; }
.appointment-drawer-hero > p { margin:0; color:#c0c2c8; font-size:10px; line-height:1.6; }
.appointment-person { display:flex; align-items:center; gap:10px; margin-top:18px; }
.appointment-person .avatar { width:38px; height:38px; }
.appointment-person small,
.appointment-person strong,
.appointment-person span { display:block; }
.appointment-person small { color:#898d97; font-size:7px; text-transform:uppercase; letter-spacing:.8px; }
.appointment-person strong { margin-top:3px; font-size:10px; }
.appointment-person div > span { margin-top:2px; color:#9a9da5; font-size:8px; }
.appointment-response-actions { display:flex; gap:8px; margin-top:18px; }
.appointment-detail-tabs { position:sticky; z-index:4; top:0; overflow-x:auto; flex-wrap:nowrap; padding:10px 16px; background:rgba(18,20,25,.95); backdrop-filter:blur(16px); }
.appointment-detail-tabs button { flex:0 0 auto; }
.appointment-drawer-content { padding:24px 27px 50px; }
.appointment-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:14px; }
.appointment-info-grid article { display:flex; align-items:flex-start; gap:10px; min-height:82px; padding:12px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.018); }
.appointment-info-grid article > span { width:31px; height:31px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; color:var(--green-bright); background:rgba(190,194,203,.07); }
.appointment-info-grid article > span svg { width:14px; }
.appointment-info-grid small,
.appointment-info-grid strong { display:block; }
.appointment-info-grid small { color:var(--muted-2); font-size:7px; text-transform:uppercase; letter-spacing:.7px; }
.appointment-info-grid strong { margin-top:5px; font-size:9px; line-height:1.4; }
.appointment-detail-section { margin-top:14px; padding:18px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.018); }
.appointment-detail-section h3 { margin:0; font:700 14px "Manrope"; }
.appointment-detail-section > p { margin:0 0 14px; color:var(--muted); font-size:9px; line-height:1.6; }
.agenda-check-list,
.appointment-action-list { display:grid; gap:7px; }
.agenda-check-list label,
.appointment-action-list label { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.agenda-check-list strong,
.appointment-action-list strong { font-size:9px; }
.appointment-action-list label > div { flex:1; }
.appointment-action-list small { display:block; margin-top:3px; color:var(--muted-2); font-size:7px; }
.appointment-access-card { display:flex; align-items:flex-start; gap:11px; border-color:rgba(175,163,217,.13); background:rgba(175,163,217,.03); }
.appointment-access-card > span { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:#c9bde9; background:rgba(175,163,217,.08); }
.appointment-access-card > span svg { width:15px; }
.appointment-access-card strong { font-size:9px; }
.appointment-access-card p { margin:5px 0 0; color:var(--muted); font-size:8px; line-height:1.55; }
.appointment-admin-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.danger-button { min-height:39px; padding:0 13px; border:1px solid rgba(229,143,117,.18); border-radius:10px; color:#e6a18f; background:rgba(229,143,117,.04); font-size:9px; font-weight:700; cursor:pointer; }
.private-note-editor textarea,
.shared-note-editor textarea { min-height:300px; }
.shared-note-editor > button { margin-left:auto; }
.add-action-form { display:grid; grid-template-columns:1fr 150px auto; align-items:end; gap:8px; margin-top:13px; }
.add-action-form .field { margin:0!important; }
.appointment-message-list { display:grid; gap:9px; }
.appointment-message-list article { display:flex; align-items:flex-start; gap:9px; }
.appointment-message-list article.mine { flex-direction:row-reverse; }
.appointment-message-list article > div { max-width:78%; padding:10px 12px; border:1px solid var(--line); border-radius:5px 13px 13px 13px; background:rgba(255,255,255,.025); }
.appointment-message-list article.mine > div { border-radius:13px 5px 13px 13px; border-color:rgba(190,194,203,.12); background:rgba(190,194,203,.045); }
.appointment-message-list strong { font-size:8px; }
.appointment-message-list p { margin:5px 0; color:#c9d3ce; font-size:9px; line-height:1.5; }
.appointment-message-list small { color:var(--muted-2); font-size:7px; }
.appointment-message-form { display:grid; grid-template-columns:1fr 43px; gap:7px; margin-top:14px; }
.appointment-message-form input { min-width:0; height:43px; padding:0 12px; border:1px solid var(--line); border-radius:11px; outline:0; color:var(--text); background:rgba(255,255,255,.025); font-size:9px; }
.appointment-message-form button { width:43px; padding:0; }

@media (max-width:1120px) {
  .teaching-header-actions .teaching-search { display:none; }
  .appointment-card { grid-template-columns:72px minmax(0,1fr); }
  .appointment-card-person { grid-column:2; min-width:0; padding:10px 0 0; border-left:0; border-top:1px solid var(--line); }
}

@media (max-width:900px) {
  .teaching-studio-modal form { width:min(100% - 32px,920px); }
  .teaching-block-picker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .studio-footer { margin:0; }
  .sermon-layout { grid-template-columns:240px 1fr; }
  .sermon-layout > main { padding:40px; }
}

@media (max-width:650px) {
  .mobile-nav { overflow-x:auto; justify-content:flex-start; }
  .mobile-nav button { min-width:58px; }
  .teaching-title-row,
  .appointment-title-row { display:block; }
  .teaching-header-actions { justify-content:flex-start; margin-top:15px; }
  .teaching-header-actions .admin-only { width:auto; min-width:0; height:42px; padding:0 13px; font-size:10px; }
  .teaching-header-actions .secondary-button { min-height:42px; padding:0 11px; }
  .teaching-library-heading { display:block; }
  .teaching-library-heading .type-filters { display:flex; overflow-x:auto; margin-top:12px; }
  .teaching-drafts { padding:14px; }
  .teaching-drafts-heading { display:flex; }
  .teaching-draft-row { grid-template-columns:48px minmax(0,1fr); gap:10px; }
  .teaching-draft-cover { width:48px; height:48px; }
  .teaching-draft-actions { grid-column:1/-1; }
  .teaching-draft-actions button { flex:1; }
  .teaching-studio-modal[data-studio-mode="create"] { width:100%; max-height:100vh; min-height:100vh; border:0; border-radius:0; }
  .teaching-block-picker { padding:16px 13px; border-radius:15px; }
  .teaching-block-picker-grid { grid-template-columns:1fr; }
  .draft-next-step { grid-template-columns:38px 1fr; }
  .draft-next-step > span { width:38px; height:38px; }
  .draft-next-step button { grid-column:1/-1; }
  .appointment-title-row .primary-button { width:auto; margin-top:15px; }
  .appointment-stats { grid-template-columns:1fr; }
  .appointment-toolbar { display:block; overflow:hidden; }
  .appointment-filters { overflow-x:auto; }
  .appointment-filters button { flex:0 0 auto; }
  .appointment-toolbar .small-search { display:flex; margin-top:9px; }
  .appointment-toolbar .small-search input { width:100%; }
  .appointment-card { grid-template-columns:62px minmax(0,1fr); gap:12px; padding:12px; }
  .appointment-date-tile { min-height:90px; }
  .appointment-card-meta { display:grid; gap:5px; }
  .appointment-card-person { grid-column:1/-1; }
  .studio-header { padding:18px; }
  .studio-header h2 { font-size:21px; }
  .studio-header p:last-child { display:none; }
  .studio-save-state span { display:none; }
  .teaching-studio-modal form { width:100%; padding:15px 12px 0; }
  .studio-section { padding:16px 13px; border-radius:15px; }
  .studio-section-title { align-items:flex-start; flex-wrap:wrap; }
  .studio-section-title .compact-button { width:100%; }
  .studio-fields,
  .outline-editor-fields,
  .publication-options,
  .appointment-form-grid { grid-template-columns:1fr; }
  .studio-wide,
  .appointment-wide,
  .outline-passage-field { grid-column:auto; }
  .outline-editor-card > header { grid-template-columns:30px 1fr 67px 30px; }
  .outline-editor-fields .field { margin-bottom:12px!important; }
  .studio-publication { margin-bottom:105px; }
  .studio-footer { padding:12px; }
  .studio-footer > div:first-child { display:none; }
  .studio-footer > div:last-child { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .teaching-drawer-hero { min-height:350px; padding:65px 19px 24px; }
  .teaching-drawer-hero h2 { font-size:27px; }
  .teaching-hero-actions .light-button { flex:1; font-size:8px; }
  .teaching-drawer-content,
  .appointment-drawer-content { padding:19px 15px 40px; }
  .detail-section { padding:15px; }
  .resource-card { align-items:flex-start; flex-wrap:wrap; }
  .resource-card > div { min-width:calc(100% - 50px); }
  .resource-card button { flex:1; justify-content:center; }
  .document-preview-modal { height:100vh; max-height:100vh; border-radius:0; }
  .document-preview-frame { height:70vh; }
  .sermon-mode > header { padding:12px 14px; }
  .sermon-mode > header h2 { overflow:hidden; max-width:45vw; white-space:nowrap; text-overflow:ellipsis; font-size:13px; }
  .sermon-timer span { min-width:55px; font-size:17px; }
  .sermon-timer button { display:none; }
  .sermon-layout { display:block; overflow:auto; }
  .sermon-layout > aside { padding:12px 14px; border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }
  .sermon-layout > aside .kicker { display:none; }
  #sermonOutlineNav { display:flex; overflow-x:auto; margin:0; }
  #sermonOutlineNav button { flex:0 0 auto; grid-template-columns:25px 1fr; min-width:150px; }
  #sermonOutlineNav button small { display:none; }
  .sermon-layout > main { padding:28px 18px 45px; }
  .sermon-layout main h1 { font-size:38px; letter-spacing:-1px; }
  .sermon-public-copy { font-size:20px; }
  .sermon-speaker-note p { font-size:12px; }
  .sermon-mode > footer { padding:10px 12px; }
  .sermon-mode > footer span { display:none; }
  .sermon-mode > footer button { min-width:0; padding:0 10px; font-size:8px; }
  .appointment-create-modal { border-radius:0; height:100vh; max-height:100vh; }
  .appointment-info-grid { grid-template-columns:1fr; }
  .appointment-drawer-hero { min-height:320px; padding:65px 19px 24px; }
  .appointment-drawer-hero h2 { font-size:26px; }
  .add-action-form { grid-template-columns:1fr; }
}
