
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17312b;background:#e9efec;font-size:16px;--green:#245e4b;--line:#c5d4cb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:#17312b;border-radius:12px;padding:13px 17px;min-height:48px;font-weight:600}button:hover{background:#edf5f0}button:focus-visible,a:focus-visible{outline:3px solid #ca861f;outline-offset:3px}button.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.55;cursor:default}a{color:#245e4b}label{display:block;font-weight:600;margin:18px 0 8px}input,select,textarea{display:block;width:100%;padding:13px;border:1px solid #adc2b5;border-radius:10px;background:#fff;color:#17312b;margin-top:7px;min-width:0}textarea{min-height:100px}h1{font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.12;letter-spacing:-.045em;margin:18px 0}h2{font-size:1.25rem;margin:0 0 12px}h3{font-size:1.05rem}p{line-height:1.55}.muted,small{color:#536b60}small{font-size:.875rem;line-height:1.5}.demo-banner{background:#183e33;color:white;padding:10px 20px;font-size:.875rem;text-align:center}.shell{max-width:1120px;margin:auto;padding:26px 24px 50px;display:grid;grid-template-columns:270px minmax(0,1fr);gap:42px}.brand{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:750;letter-spacing:-.04em}.logo{display:grid;place-items:center;background:var(--green);color:white;width:58px;height:58px;border-radius:17px;font-size:30px}.rail{padding:20px 0}.rail h2{margin-top:40px}.steps{list-style:none;padding:0;display:grid;gap:20px}.steps li{display:flex;align-items:center;gap:12px;color:#617369}.steps b{border:1px solid #adc2b5;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:.875rem}.steps .active{color:#17312b;font-weight:700}.steps .active b{background:var(--green);color:white}.rail .note{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.device{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 60px #183e3310;overflow:hidden;min-height:720px}.top{padding:20px 26px;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;align-items:center}.top strong{font-size:1.05rem}.top span{font-size:.8rem;color:#536b60}.content{padding:28px}.eyebrow{text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;font-weight:750;color:#47725d}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.actions>*{flex:1}.full{width:100%}.card{border:1px solid var(--line);border-radius:16px;padding:20px;margin:18px 0;background:#f4f8f5}.card.white{background:white}.card.purple{background:#f0edf8;border-color:#c3b4d6}.card.gold{background:#fff6e4;border-color:#d4b77e}.card p:last-child{margin-bottom:0}.badge{display:inline-block;font-size:.8rem;font-weight:700;border:1px solid #abc5b2;border-radius:30px;padding:5px 10px;background:#e9f3ed}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid .card{margin:0}.choice{text-align:left;display:block;width:100%;padding:20px;margin:14px 0}.choice strong,.choice small{display:block}.choice small{font-weight:400;margin-top:7px}.store-icon{width:84px;height:84px;font-size:46px;border-radius:24px}.store-title{display:flex;gap:20px;align-items:center;margin:16px 0 25px}.store-title h1{margin:0 0 6px}.mini-preview{background:#e9efec;border-radius:16px;padding:22px;margin-top:24px}.mini-sheet{background:white;border-radius:10px;padding:18px;border:1px solid var(--line)}.mini-sheet p{border-top:1px solid #e3ebe5;padding-top:12px;margin-bottom:0}.progress{height:8px;background:#dfeae3;border-radius:10px;overflow:hidden;margin:24px 0}.progress div{height:100%;background:var(--green);animation:install 1.1s ease forwards}@keyframes install{from{width:0}to{width:100%}}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}.row>div{min-width:0;overflow-wrap:anywhere}.row small{display:block}.row button{flex-shrink:0}.error{color:#962d20;background:#fff0ec;padding:12px;border-radius:10px;margin-bottom:15px}.error:empty{display:none}.field-error{margin:6px 0 15px;font-size:.875rem;line-height:1.5}[aria-invalid="true"]{border-color:#962d20}.success{color:#245e4b;background:#e6f3e8;padding:12px;border-radius:10px}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{width:20px;margin-top:3px;flex-shrink:0}.program{text-align:center}.program .item{padding:18px 0;border-bottom:1px solid var(--line)}.program .item strong,.program .item span{display:block}.program .item span{margin-top:6px;color:#536b60}.code{font-size:1.8rem;letter-spacing:.15em;font-weight:750}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar button{font-size:.875rem;min-height:40px;padding:8px 12px}.privacy{font-size:.875rem;color:#536b60;margin-top:24px}.item-form{border:1px solid var(--line);border-radius:14px;padding:16px;margin:16px 0}.item-form label{margin-top:10px}.danger{color:#962d20}.walkthrough{margin-top:24px;font-size:.875rem}.walkthrough button{font-size:.875rem;margin-top:8px;width:100%}@media(max-width:760px){.shell{display:block;padding:16px 12px 40px}.rail{padding:0 6px 16px}.rail h2,.rail .steps,.rail .note,.rail>p{display:none}.brand{font-size:1.25rem}.logo{width:42px;height:42px;font-size:24px}.walkthrough{display:flex;gap:8px;margin-top:12px}.walkthrough button{margin:0;padding:9px;min-height:40px}.device{min-height:650px;border-radius:20px}.content{padding:22px 18px}.top{padding:16px 18px}.grid{grid-template-columns:1fr}.store-icon{width:74px;height:74px;font-size:40px}.row{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.progress div{animation:none;width:100%}}

/* Straight-edge design: panels are square; controls retain a subtle 4px radius. */
.device,.card,.mini-preview,.mini-sheet,.item-form{border-radius:0}
button,input,select,textarea,.badge,.logo,.store-icon,.error,.success{border-radius:4px}
.steps b{border-radius:4px}
.progress{border-radius:0}
.item-form .choice{overflow-wrap:anywhere}.program a{display:inline-block;margin-top:10px}.program .item{overflow-wrap:anywhere}.conductor-script{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.1rem}.item-form textarea{line-height:1.5}
/* Compact program shared by preview and congregation view. */
.program{border-top:4px solid var(--green);padding:20px;line-height:1.45}
.program>h2{margin:6px 0 3px}.program>small{display:block;margin-bottom:16px}
.program .program-leadership{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#f4f8f5;padding:14px 10px;margin:14px 0;border-block:1px solid var(--line)}
.program .program-leadership .item{display:block;padding:0;border:0;text-align:center;min-width:0}
.program .program-leadership .item strong{font-size:.75rem;letter-spacing:.025em;color:#47725d}
.program .program-leadership .item span{font-size:.875rem;margin-top:4px;color:#17312b}
.program>h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;text-align:left;color:#47725d;margin:16px 0 4px}
.program>.item{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);column-gap:16px;padding:10px 0;text-align:left;align-items:baseline;border-color:#e1e9e4}
.program>.item:last-child{border-bottom:0}.program>.item strong{font-size:.9rem;font-weight:600}.program>.item span{margin:0;font-size:.9rem;text-align:right}
.program>.item a{grid-column:2;font-size:.75rem;text-align:right;margin:2px 0 0;padding:4px 0;justify-self:end}
.program>.item strong:only-child{grid-column:1/-1}
@media(max-width:760px){.program{padding:16px 12px}.program .program-leadership{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.program>.item{column-gap:10px;padding:9px 0}}

.ward-subtitle{display:block}.pilot-shell{max-width:880px;margin:24px auto;padding:0 18px}.pilot-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.nav-link{display:inline-block;padding:10px 12px;min-height:40px;border:1px solid var(--line);border-radius:4px;text-decoration:none;background:#fff}.qr{display:block;width:240px;max-width:100%;height:auto;margin:20px auto}.pilot-footer{font-size:.8rem;color:#536b60;text-align:center;margin:28px 0}.toolbar{margin-bottom:24px}.toolbar a{font-size:.875rem}.row h2{margin:0}.item-form .row{flex-wrap:wrap}#save-state{color:#536b60}.public-shell{max-width:820px}.public-shell .program{margin-top:0}@media(max-width:760px){.pilot-shell{padding:0 12px;margin:14px auto}.pilot-header{align-items:flex-start}.toolbar button,.toolbar a{flex:1}.program .program-leadership{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Gather pilot: editing workspace and compact Sunday bulletin. */
.meeting-list .row>div:first-child{min-width:0;overflow-wrap:anywhere}.meeting-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:240px}.meeting-actions small{flex-basis:100%;text-align:right}.meeting-list .row{gap:16px}#trash-confirm{max-width:480px;width:calc(100% - 32px);padding:24px;border:1px solid #a7b8aa;background:#fffef9;color:#213d32;box-shadow:0 12px 28px #193b2333}#trash-confirm::backdrop{background:#193b2370}#trash-confirm h2{overflow-wrap:anywhere}@media(max-width:600px){.meeting-list .row{flex-wrap:wrap}.meeting-actions{max-width:none;justify-content:flex-start;width:100%}.meeting-actions small{text-align:left}}
/* Leader dashboard surfaces, matching the public bulletin palette. */
@media screen {
  body[data-page="leader"] { background: #e3eae3; min-height: 100vh; display: flow-root; }
  body[data-page="leader"] .toolbar { background: #e9efe5; border-color: #afc0ad; box-shadow: 0 2px 5px #193b230a; }
  body[data-page="leader"] .create-panel { background: #f0f4ec; border-color: #afc0ad; border-left-color: var(--green); box-shadow: 0 3px 8px #193b2312; }
  body[data-page="leader"] .meeting-list { background: #fffef9; border-color: #a7b8aa; box-shadow: 0 3px 8px #193b2312, 0 12px 28px #193b2314; }
}
/* Public bulletin surfaces: keep the page and its sections visually distinct. */
@media screen {
  body[data-page="public"] { background: #e3eae3; min-height: 100vh; display: flow-root; }
  .public-shell .program { border-color: #a7b8aa; border-top-color: var(--green); box-shadow: 0 3px 8px #193b2312, 0 12px 28px #193b2314; }
  .public-shell .program .program-leadership { background: #e9efe5; border: 1px solid #afc0ad; box-shadow: 0 2px 5px #193b230a; }
  .public-shell .program .leader-duty { color: #536b60; }
  .public-shell .program .program-announcements { background: #f0f4ec; border: 1px solid #afc0ad; border-top: 3px solid var(--green); padding: 16px; box-shadow: 0 2px 5px #193b230a; }
  .public-shell .program > .program-divider { background: #e9efe5; border: 1px solid #afc0ad; }
}
:root{background:#f1f3ee;--green:#245e4b;--line:#d2dbd2;color:#213d32}body{line-height:1.5}.pilot-shell{max-width:1060px;margin:24px auto;padding:0 24px}.pilot-header{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.logo{width:46px;height:46px;font-size:26px}.brand{font-size:1.35rem}.ward-subtitle{font-size:.78rem;font-weight:400;letter-spacing:0}.toolbar{padding:8px;background:#e5ebe3;border:1px solid var(--line);gap:6px;margin-bottom:30px}.toolbar button{background:transparent;border-color:transparent}.toolbar button:hover{background:#fff}.toolbar .nav-link{margin-left:auto;background:transparent;border-color:transparent}.card{background:#fff;padding:24px;margin:22px 0}.card h2{margin-bottom:10px}h1{font-size:clamp(1.8rem,4vw,2.35rem);letter-spacing:-.035em;margin:0 0 10px}.muted{max-width:70ch;margin-top:0}label{font-size:.875rem;line-height:1.45}input,select{min-height:48px;margin-top:8px;padding:11px 12px}input:focus,select:focus{outline:2px solid #47725d;outline-offset:2px}input[type=date]{font-weight:650;min-height:50px;color:var(--green)}button,.nav-link{font-size:.875rem}.create-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;background:#e7eee4;border:1px solid #bbccba;border-left:4px solid var(--green);padding:28px;margin:26px 0}.create-panel h2{font-size:1.6rem;margin:8px 0}.create-panel p{margin:0;color:#536b60}.template-options{display:flex;flex-direction:column;justify-content:center;gap:10px}.template-options button{text-align:left;padding:16px}.meeting-list>.row:last-child{border:0}.meeting-list .row{padding:18px 0}.meeting-list small{margin-top:5px}.editor-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.editor-heading h1{width:100%;margin-bottom:0}.editor-heading p{margin:0}.editor-heading #save-state{background:#e5ebe3;padding:6px 10px;font-size:.8rem;border-radius:4px}.eyebrow{font-size:.7rem;letter-spacing:.12em}.details-card h2,.leadership-card h2{margin:6px 0 0}.details-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:24px}.details-grid small{display:block;font-size:.76rem;font-weight:400;margin-top:7px}.leadership-card .row{padding:0 0 16px}.leadership-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.leadership-field{min-width:0}.leadership-field label{margin:16px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:30px 0 12px}.section-heading h2{margin:5px 0 0}.item-form{background:white;margin:12px 0;padding:18px 22px}.section-row{padding:0 0 12px}.section-row strong{font-size:.95rem}.section-row button{min-height:36px;padding:6px 10px;font-weight:400}.section-number{display:inline-block;color:#68816b;font-size:.75rem;min-width:26px}.section-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;align-items:start}.section-fields>div{font-size:.85rem;align-self:end;padding:10px 0;color:#47725d;overflow-wrap:anywhere}.section-fields .choice{padding:10px;margin:5px 0}.editor-actions{position:sticky;bottom:12px;background:#f8faf5;border:1px solid #b6c8b8;box-shadow:0 4px 24px #1d39281a;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:2}.editor-actions>span{font-size:.8rem;color:#536b60}.editor-actions .actions{margin:0;flex-wrap:nowrap}.editor-actions .actions>*{flex:initial;white-space:nowrap}#notice:empty{display:none}.privacy{font-size:.78rem}.public-shell{max-width:860px}.public-shell .pilot-header{border:0;margin-bottom:16px;padding-bottom:0}.public-shell .brand{font-size:1rem}.public-shell .logo{width:34px;height:34px;font-size:20px}.public-shell .ward-subtitle{display:none}.program{background:#fffef9!important;padding:30px 32px;border:1px solid #cad6c9;border-top:5px solid var(--green);box-shadow:0 10px 40px #193b2310}.program>h2{font-family:Georgia,serif;font-size:clamp(1.7rem,4vw,2.2rem);font-weight:400;line-height:1.2;margin:8px 0}.program>small{font-size:.85rem;margin-bottom:20px}.program .program-leadership{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px;padding:16px 8px;background:#eef2e8;margin:18px 0}.leader-person{min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px}.leader-duty{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#617560}.leader-name{font-size:.9rem;line-height:1.4;overflow-wrap:anywhere;font-weight:650}.leader-calling{display:block;font-size:.75rem;color:#536b60;line-height:1.4;text-wrap:balance;max-width:100%}.program>h3{margin:20px 0 5px;font-size:.65rem}.program>.item{padding:10px 0;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:0 16px}.program>.item strong{font-size:.875rem}.program>.item span{font-size:.875rem;color:#344c3d}.program>.item a{font-size:.7rem;margin:3px 0 0;padding:2px 0}.program>.item:last-child{padding-bottom:0}.program>.item.program-divider{background:#eff3ea;padding:10px;margin:6px -10px}.pilot-footer{max-width:650px;margin:28px auto;font-size:.7rem;line-height:1.6}#settings-form{padding:24px;background:#fff;border:1px solid var(--line);max-width:640px}#settings-form label:first-child{margin-top:0}#settings-form button{margin-top:20px}
@media(max-width:760px){.pilot-shell{padding:0 14px;margin:16px auto}.pilot-header{padding-bottom:16px}.toolbar{margin-bottom:24px}.toolbar button,.toolbar a{flex:1 1 auto;text-align:center;margin:0;padding:9px}.create-panel{grid-template-columns:1fr;gap:20px;padding:20px}.card{padding:20px 16px}.details-grid{grid-template-columns:1fr;gap:0}.leadership-fields{gap:0 14px}.section-fields{grid-template-columns:1fr;gap:0}.item-form{padding:16px}.editor-actions{bottom:0;margin-inline:-14px;padding:12px 14px;display:block;border-inline:0}.editor-actions>span{display:none}.editor-actions .actions>*{flex:1}.program{padding:24px 16px}.program .program-leadership{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:14px 6px}.program>.item{gap:0 12px;padding:9px 0}.leader-calling{font-size:.75rem}.program>.item strong,.program>.item span{font-size:.83rem}.program>small{font-size:.8rem}.section-row strong{max-width:calc(100% - 85px)}.row button{min-height:42px}}
@media(max-width:390px){.leadership-fields{grid-template-columns:1fr}.program .leader-name{font-size:.85rem}}
@media print{@page{margin:12mm}body{background:#fff}.pilot-shell{max-width:none;padding:0;margin:0}.pilot-header,.toolbar,.editor-heading,.actions,.editor-actions,.pilot-footer,#notice,main>h1,main>p,.demo-banner{display:none!important}.program{border:0!important;box-shadow:none;margin:0;padding:0;background:white!important}.program .program-leadership{grid-template-columns:repeat(4,minmax(0,1fr));break-inside:avoid}.program>.item{break-inside:avoid;padding:7px 0}.program>.item a{display:none}.program>h2{font-size:24pt}}

#main:focus{outline:none}.leader-calling{word-break:normal;overflow-wrap:normal}

.announcements-editor textarea{resize:vertical;min-height:160px;line-height:1.6}.announcements-editor small{display:block;margin-top:8px;font-size:.8rem}.program-announcements{text-align:left;margin-top:24px;padding-top:20px;border-top:2px solid var(--line)}.program-announcements h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;color:var(--green)}.announcement-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.65}@media print{.program-announcements h3{break-after:avoid}.announcement-text{orphans:3;widows:3}}

.announcement-row{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:12px;align-items:end;margin:16px 0}.announcements-editor .announcement-row textarea{min-height:72px}.announcement-row label{min-width:0;margin:0}.announcement-row button{margin-bottom:0}.announcement-list{padding-left:20px;margin:0}.announcement-list li{margin:12px 0}.announcement-list time{display:block;font-weight:600;font-size:.85rem;margin-bottom:4px}@media(max-width:600px){.announcement-row{grid-template-columns:minmax(0,1fr)}.announcement-row button{justify-self:start}}@media print{.announcement-list li{break-inside:avoid}}

.announcement-row{grid-template-columns:minmax(0,1fr) 155px 130px auto}[aria-invalid="true"]{border:2px solid #a32323!important;background:#fff5f5!important;outline-offset:3px}.field-error{display:block;color:#8f2020;font-size:.85rem;margin:6px 0}input,select,textarea{scroll-margin-block:100px}@media(max-width:700px){.announcement-row{grid-template-columns:minmax(0,1fr)}}

.announcement-row{grid-template-columns:minmax(0,1fr) 155px 190px auto}.announcement-when{font-weight:600;font-size:.85rem;margin-bottom:4px;overflow-wrap:anywhere}.announcement-when time{display:inline}@media(max-width:700px){.announcement-row{grid-template-columns:minmax(0,1fr)}}

/* Program insertion and ordering */
.section-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.section-tools button{min-height:44px}.section-label{min-width:0;overflow-wrap:anywhere}.section-row{flex-wrap:wrap;gap:12px}.section-gap{padding:12px 0;display:flex;justify-content:center}.section-gap button{min-height:44px;border-style:dashed}.section-gap.drop-target{outline:2px solid var(--green);background:#e9efe5}.drag-handle{cursor:grab}.dragging{opacity:.6}.section-tools button:disabled,.section-gap button:disabled{opacity:.45;cursor:default}#section-picker{max-width:min(480px,calc(100vw - 32px));width:100%;border:1px solid #a7b8aa;padding:24px;background:#fffef9}#section-picker::backdrop{background:#193b2359}#section-picker select{width:100%}#section-picker .actions{margin-top:20px}.section-label:focus{outline:2px solid var(--green);outline-offset:4px}@media(pointer:coarse),(max-width:600px){.drag-handle{display:none}.section-tools{width:100%}.section-tools button{flex:1}.section-row{align-items:flex-start}}

.drag-handle{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #a7b8aa;background:#e9efe5;user-select:none}@media(pointer:coarse),(max-width:600px){.drag-handle{display:none}}

/* Sortable program cards */
.item-form>.section-insert{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.section-insert button{min-height:44px;padding:8px 12px;font-size:.8rem;background:#f0f4ec;border:1px solid #afc0ad}.insert-first{display:flex;justify-content:flex-end;margin:12px 0}.section-row[data-sort-header]{cursor:grab;user-select:none}.section-row button{cursor:pointer}.sort-grip{color:#536b60;font-size:24px;line-height:1}.sort-placeholder{box-sizing:border-box;border:2px dashed #47725d;background:#e9efe5;margin:12px 0}.item-form.sort-floating{position:fixed;z-index:1000;margin:0;pointer-events:none;box-shadow:0 14px 36px #193b2340;border:1px solid #47725d;opacity:.97}.sorting-cards,.sorting-cards *{cursor:grabbing!important}.section-row strong{max-width:100%}@media(pointer:coarse),(max-width:600px){.sort-grip{display:none}.section-row[data-sort-header]{cursor:default}.section-insert button{min-height:44px}}@media(prefers-reduced-motion:reduce){.item-form{scroll-behavior:auto}}
