*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: var(--font-mono); /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
@keyframes enter {

  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
:root{font-family:Inter,Arial,sans-serif;color:#14273D;background:#EDF4FA;--surface:#fff;--paper:#EDF4FA;--ink:#14273D;--muted:#526A80;--line:#D6E3EE;--accent:#094C84;--soft:#E2EFF8;--hover:#F3F7FB;--shadow:0 6px 24px #19365F10;--background:208 57% 95%;--foreground:212 51% 16%;--card:0 0% 100%;--card-foreground:212 51% 16%;--primary:207 87% 28%;--primary-foreground:0 0% 100%;--border:207 41% 89%;--ring:207 87% 28%;--radius:.8rem}
.dark{color-scheme:dark;--surface:#193047;--paper:#102237;--ink:#EDF4FA;--muted:#B0C3D4;--line:#304D68;--accent:#77B4D8;--soft:#213F5C;--hover:#25435F;--shadow:0 6px 24px #0002;--background:212 55% 14%;--foreground:208 57% 95%;--card:209 48% 19%;--card-foreground:208 57% 95%;--primary:202 55% 66%;--primary-foreground:212 51% 16%;--border:209 37% 30%;--ring:202 55% 66%}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.serve-shell{display:flex;min-height:100dvh}.sidebar{position:fixed;width:248px;inset:0 auto 0 0;padding:32px 20px;background:#19365F;color:#EDF4FA;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:0 12px;font-size:24px;font-weight:750;letter-spacing:-.5px}.brand span:not(.serve-mark){color:#FFFFFF}.brand small{display:block;font-size:9px;font-weight:650;letter-spacing:1.4px;color:#B4CDE2;margin-top:4px}.serve-mark{width:45px;height:45px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.serve-mark img{display:block;width:100%;height:100%;object-fit:contain}.church-switch{border:1px solid #3D5A7C;background:#203F69;padding:15px;margin:35px 0 24px;border-radius:12px}.church-switch>span{font-size:9px;letter-spacing:2px;color:#BED0E2;display:block;margin-bottom:8px}.church-switch strong{font-size:13px;display:block}.church-switch small{font-size:11px;color:#BED0E2;display:block;margin-top:5px}.church-switch select{max-width:100%;color:#fff;background:#203F69}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500;padding:13px 15px;border-radius:9px;color:#D1DFED}.nav-item:hover{background:#294E7A;color:#fff}.nav-item.active{background:#094C84;color:#FFFFFF;font-weight:700}.sidebar-bottom{margin-top:auto;padding:35px 12px 0}.sidebar-bottom p{font-size:12px;line-height:1.7;color:#B4CDE2;margin-top:16px}.pilot-tag{font-size:10px;color:#D1DFED;display:flex;align-items:center;gap:8px}.pilot-tag span{width:6px;height:6px;border-radius:50%;background:#77B4D8}.workspace{margin-left:248px;width:calc(100% - 248px);min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);gap:15px}.topbar-church{font-size:12px;color:var(--muted)}.account-actions{display:flex;align-items:center;gap:13px}.account-name{font-size:12px;color:var(--muted)}.main-content{max-width:1510px;margin:auto;padding:38px 40px 60px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;color:var(--muted);margin-bottom:12px}.page-header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}h1{font-size:34px;line-height:1.2;font-weight:700;letter-spacing:-.7px}.page-header p{color:var(--muted);font-size:13px;line-height:1.6;margin-top:11px}.header-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:1px solid transparent;border-radius:9px;padding:11px 16px;font-size:12px;line-height:1.4;font-weight:650;min-height:40px;transition:background .15s}.dark .button:not(.secondary):not(.ghost){color:#19365F}.button:hover{filter:brightness(.96)}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button.ghost{background:transparent;color:var(--muted)}.icon-button{width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button:hover{background:var(--hover);color:var(--ink)}.welcome-card{border-radius:18px;background:#E2EFF8;position:relative;overflow:hidden;padding:35px 38px;display:flex;justify-content:space-between;gap:20px;min-height:270px;border:1px solid #CEDFEF;margin-bottom:24px;color:#14273D}.dark .welcome-card{background:#213F5C;border-color:#3D5A7C;color:#EDF4FA}.welcome-card h2{font-size:37px;font-weight:600;line-height:1.1;letter-spacing:-1.3px;margin:18px 0 13px}.welcome-card p{font-size:12px;line-height:1.7;color:#526A80;margin-bottom:20px}.dark .welcome-card p{color:#BED0E2}.welcome-card .button{background:#094C84;color:#fff!important}.welcome-visual{width:300px;position:relative;min-height:225px}.orbit{border:1px solid #77B4D850;border-radius:50%;width:240px;height:240px;position:absolute;top:0;left:0}.orbit-two{width:330px;height:330px;top:-42px;left:-43px}.visual-card{position:absolute;top:52px;left:25px;transform:rotate(-8deg);background:#ffffffb8;border:1px solid #fff8;box-shadow:0 12px 35px #19365F20;border-radius:15px;display:flex;flex-direction:column;gap:12px;padding:24px;width:180px;color:#19365F}.visual-card strong{font-size:19px;font-weight:600}.visual-card span{font-size:10px;color:#526A80}.visual-card.small{top:132px;left:158px;width:100px;padding:16px;transform:rotate(12deg);background:#F3F7FB}.visual-card.small strong{font-size:14px}.visual-dot{position:absolute;top:14px;right:10px;width:13px;height:13px;border-radius:50%;background:#77B4D8}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:13px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;gap:8px}.stat strong{display:block;font-size:33px;font-weight:600;letter-spacing:-1px;margin:12px 0 9px}.stat small{font-size:10px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0;margin-bottom:22px;overflow:hidden}.panel-header{padding:23px 25px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel h2{font-size:15px;font-weight:650;letter-spacing:-.25px}.panel-header p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:6px}.text-link{display:inline-flex;gap:5px;align-items:center;font-size:11px;color:var(--accent);white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:6px;background:var(--hover);color:var(--muted);font-size:10px;font-weight:600;white-space:nowrap;line-height:1.3}.badge.green{background:#d9eee0;color:#356447}.badge.amber{background:#fff0cf;color:#886018}.badge.red{background:#ffe3df;color:#994739}.dark .badge.green{background:#294b37;color:#a0ddb4}.dark .badge.amber{background:#493f25;color:#ead394}.dark .badge.red{background:#482e2c;color:#edb5ab}.empty{padding:42px 25px;text-align:center;max-width:570px;margin:auto}.empty-icon{width:49px;height:49px;border-radius:13px;background:var(--soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}.empty h3{font-size:16px;font-weight:650;letter-spacing:-.4px}.empty p{font-size:12px;line-height:1.7;color:var(--muted);margin:10px auto 20px;max-width:330px}.list{padding:0 25px}.gathering-row{display:flex;gap:15px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.gathering-row:last-child{border-bottom:0}.gathering-row strong{font-size:13px}.gathering-row p{font-size:11px;color:var(--muted);margin-top:6px}.gathering-row small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.date-tile{width:47px;min-width:47px;background:var(--soft);border:1px solid var(--line);border-radius:9px;text-align:center;padding:7px;color:var(--accent)}.date-tile small{font-size:9px;text-transform:uppercase;letter-spacing:1px;margin:0}.date-tile strong{font-size:22px;font-weight:600;line-height:1.3}.setup-list{padding:0 25px}.setup-list>a{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.setup-list>a:last-child{border-bottom:0}.setup-list strong{font-size:12px}.setup-list p{font-size:10px;line-height:1.6;color:var(--muted);margin-top:5px}.setup-list>a>div{flex:1}.step-number{font-size:10px;width:31px;height:31px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}.step-number.done{background:var(--soft);color:var(--accent);font-size:16px}.attendance-note{margin:5px 25px 20px;padding:15px;background:var(--soft);border-radius:10px;font-size:11px;display:grid;gap:6px}.attendance-note span{color:var(--muted)}.toolbar{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.search{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:0 12px;display:flex;align-items:center;gap:9px;color:var(--muted);min-width:220px;flex:1;max-width:430px}.search input{border:0;background:transparent;color:var(--ink);height:42px;min-width:0;width:100%;font-size:12px;outline-offset:0}.segmented{display:flex;background:var(--surface);border:1px solid var(--line);padding:4px;border-radius:10px;gap:4px}.segmented button{border:0;background:transparent;color:var(--muted);font-size:12px;border-radius:7px;padding:9px 12px}.segmented button.active{background:var(--soft);color:var(--accent);font-weight:650}.segmented span{font-size:10px;margin-left:6px}.checkbox-label{font-size:11px;display:flex;gap:8px;align-items:center;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{padding:16px 25px;background:var(--hover);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600}td{padding:17px 25px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}.person-cell{display:flex;gap:12px;align-items:center}.person-cell strong{font-size:12px}.avatar{display:inline-flex;justify-content:center;align-items:center;width:35px;height:35px;flex-shrink:0;border-radius:50%;font-size:11px;font-weight:650;background:var(--soft);color:var(--accent);text-transform:uppercase}.avatar.small{width:28px;height:28px;font-size:9px}.person-cell small,.contact-cell small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.muted{color:var(--muted);font-size:12px;line-height:1.7}.row-actions{display:flex;gap:4px;align-items:center}.household-grid{padding:22px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.household-card{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--line);border-radius:10px}.household-card>div{flex:1}.household-card strong{font-size:13px}.household-card p{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.5}.modal{width:620px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);padding:26px;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 90px #0004;background:var(--surface);color:var(--ink)}.modal::backdrop{background:#19365F66;backdrop-filter:blur(4px)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.modal-header h2{font-size:20px;letter-spacing:-.6px;font-weight:650}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;font-size:11px;font-weight:600}.field input,.field select,.field textarea,td select{background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:11px 12px;border-radius:8px;min-width:0;width:100%;font-size:12px;font-weight:400;min-height:41px}.field textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:12px}.form-intro{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:22px}.import-summary{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.import-preview{max-height:200px;overflow:auto;border:1px solid var(--line);border-radius:9px;margin-top:15px}.import-preview>div{display:flex;gap:15px;justify-content:space-between;padding:12px;font-size:11px;border-bottom:1px solid var(--line)}.import-preview span{color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.team-card{padding:24px;display:flex;flex-direction:column;margin:0}.team-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.team-icon{display:inline-flex;background:var(--soft);color:var(--accent);padding:12px;border-radius:12px}.team-card h2{font-size:18px}.team-card>p{margin-top:8px}.position-tags{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0}.team-members{margin-bottom:20px;flex:1}.team-members>div{display:flex;gap:9px;align-items:center;padding:7px 0;font-size:11px}.team-members>div>span:nth-child(2){flex:1}.team-members>p{font-size:11px}.team-card>.button{width:100%}.back-link{display:inline-flex;gap:7px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:22px}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.preparation-note{padding:22px 25px}.preparation-note p{font-size:12px;line-height:1.8;white-space:pre-wrap}.plan-list{padding:0 25px}.plan-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.plan-row:last-child{border-bottom:0}.plan-number{font-size:11px;color:var(--muted);align-self:flex-start;padding-top:5px}.plan-row strong{display:block;font-size:13px;margin-top:8px}.plan-row p{font-size:11px;color:var(--muted);white-space:pre-wrap;line-height:1.6;margin-top:8px}.duration{font-size:11px;color:var(--muted)}.grow{flex:1;min-width:0}.assignment-list{padding:0 25px}.assignment-list>div{display:flex;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.assignment-list strong{font-size:12px}.assignment-list p{font-size:10px;color:var(--muted);margin-top:7px}.attendance-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.attendance-controls>.field{margin:0;flex:1;max-width:520px}.attendance-roster{padding:0 25px}.attendance-person{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.attendance-person:last-child{border:0}.attendance-person strong{font-size:12px}.attendance-person small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.present-button{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);padding:10px 12px;font-size:11px;min-width:122px;justify-content:center}.present .present-button{background:var(--soft);color:var(--accent);border-color:var(--accent)}.household-action{background:transparent;border:0;color:var(--muted);font-size:10px;padding:12px}.headcount-form{display:flex;align-items:center;gap:9px;margin-left:auto}.headcount-form label{font-size:10px;color:var(--muted)}.headcount-form input{width:70px;border:1px solid var(--line);border-radius:8px;padding:9px;background:var(--surface);color:var(--ink);font-size:12px}.my-assignments{padding:0 25px}.my-assignments>div{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:23px 0}.my-assignments h3{font-size:15px;margin-top:12px}.my-assignments p{font-size:11px;color:var(--muted);margin-top:8px}.simple-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;font-size:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.details-list{padding:0 25px;margin:0}.details-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.details-list dt{color:var(--muted)}.details-list dd{margin:0;text-align:right}.panel-text{padding:15px 25px 22px}.profile-link-form{padding:0 25px}.profile-link-form>.button{margin-bottom:4px}.pending-invites{padding:22px 25px;border-top:1px solid var(--line)}.pending-invites h3{font-size:13px}.roadmap-grid{padding:0 25px 8px}.roadmap-grid>div{display:flex;gap:15px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line)}.roadmap-grid>div:last-child{border:0}.roadmap-grid>div>div{flex:1}.roadmap-grid strong{font-size:12px}.roadmap-grid p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:6px}.auth-page,.loading-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:25px;background:radial-gradient(ellipse at top left,var(--soft),transparent 70%),var(--paper)}.auth-card{width:480px;max-width:100%;padding:42px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.auth-card>.serve-mark{margin-bottom:27px}.auth-card h1{font-size:30px;line-height:1.3;margin-bottom:16px}.auth-card>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:25px}.auth-card form .button{width:100%}.auth-card>small{display:block;color:var(--muted);font-size:10px;line-height:1.7;margin-top:21px}.auth-footer{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:23px;margin-top:28px;font-size:10px;color:var(--muted)}.loading-page{flex-direction:column;gap:20px;font-size:12px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-notice{padding:24px;background:var(--surface);border:1px solid #b56255;border-radius:12px;max-width:580px;font-size:13px}.error-notice p{margin:12px 0 18px;line-height:1.7;color:var(--muted)}.mobile-brand,.mobile-nav,.mobile-menu{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.main-content{padding-top:45px}.welcome-card{min-height:290px;padding:42px}.welcome-card h2{font-size:42px}}
@media(max-width:1150px){.sidebar{width:220px}.workspace{margin-left:220px;width:calc(100% - 220px)}.main-content{padding:30px 26px}.topbar{padding:0 26px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.stats-grid{gap:12px}.stat{padding:18px}.stat small{line-height:1.7;display:block}.welcome-visual{width:240px}.plan-row>.row-actions{flex-wrap:wrap;max-width:72px}.page-header{align-items:flex-start}h1{font-size:30px}}
@media(max-width:760px){.sidebar{display:none}.workspace{margin:0;width:100%}.topbar{height:65px;padding:0 18px;position:sticky;top:0;z-index:25}.topbar-church,.account-name{display:none}.mobile-brand{display:flex;gap:9px;align-items:center;font-size:17px;letter-spacing:-.5px}.mobile-brand .serve-mark{width:33px;height:33px;border-radius:9px}.mobile-brand svg{width:21px}.account-actions{gap:4px}.main-content{padding:26px 18px 105px}.page-header{flex-direction:column;gap:18px;margin-bottom:22px}.page-header p{font-size:12px}.header-actions{width:100%;justify-content:flex-start;gap:8px}.header-actions>.button{font-size:11px;padding:9px 12px}h1{font-size:29px}.eyebrow{font-size:9px}.welcome-card{padding:25px;min-height:260px;gap:0}.welcome-card h2{font-size:33px}.welcome-card p br{display:none}.welcome-card>div:first-child{position:relative;z-index:1;max-width:80%}.welcome-visual{position:absolute;opacity:.3;width:200px;right:-100px;top:55px;pointer-events:none}.stats-grid,.stats-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-grid.three .stat:last-child{grid-column:span 2}.stat{padding:18px}.stat strong{font-size:29px}.stat-top{font-size:10px}.stat small{font-size:9px}.panel-header{padding:20px}.list,.setup-list,.plan-list,.assignment-list,.my-assignments{padding:0 20px}.panel-header>.button{font-size:10px;padding:8px}.gathering-row{gap:12px}.gathering-row strong{font-size:12px}.gathering-row>.badge{display:none}.gathering-row small{font-size:9px}.toolbar{gap:12px}.search{max-width:100%;width:100%;min-width:0;flex-basis:100%}.segmented{flex:1}.segmented>button{flex:1}.team-grid{grid-template-columns:1fr}.team-card{padding:22px}.household-grid,.settings-grid{grid-template-columns:1fr}.settings-grid{gap:0}.household-grid{padding:18px}.form-grid{grid-template-columns:1fr}.modal{padding:22px;max-height:calc(100dvh - 28px)}.form-footer{flex-wrap:wrap}.attendance-controls{align-items:flex-end;gap:10px}.attendance-controls>.button{font-size:10px;padding:10px}.attendance-roster{padding:0 16px}.attendance-person{gap:10px}.attendance-person .avatar{width:29px;height:29px;font-size:9px}.attendance-person strong{font-size:11px}.present-button{min-width:42px;padding:10px}.present-button span{display:none}.household-action{font-size:9px;padding:8px}.headcount-form{margin-left:0;flex-wrap:wrap}.my-assignments>div{flex-wrap:wrap}.my-assignments>.row-actions{width:100%}.auth-card{padding:30px}.auth-card h1{font-size:27px}.mobile-nav{display:flex;position:fixed;z-index:35;bottom:0;left:0;right:0;padding:10px 10px max(10px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;box-shadow:0 -5px 20px #19365F08}.mobile-nav a{display:flex;flex-direction:column;gap:5px;align-items:center;padding:5px 9px;color:var(--muted);font-size:9px}.mobile-nav a.active{color:var(--accent);font-weight:700}.mobile-menu{display:block;position:relative}.mobile-menu nav{position:absolute;right:0;top:40px;min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px}.mobile-menu nav a{display:flex;gap:10px;font-size:12px;padding:13px;border-radius:7px}.mobile-menu nav a.active{background:var(--soft);color:var(--accent)}.plan-row{flex-wrap:wrap}.plan-row>.row-actions{max-width:none}.roadmap-grid{padding:0 20px 8px}.roadmap-grid .badge{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition:none!important}}
.music-layout{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,2fr);gap:22px;margin-top:22px}.music-list{padding:20px 25px}.song-entry{border-bottom:1px solid var(--line);padding:16px 0}.song-entry>strong{font-size:14px;display:block}.song-entry>small{display:block;font-size:11px;color:var(--muted);margin:5px 0 12px}.song-entry>button,.stand-order>button{display:flex;gap:12px;width:100%;padding:12px;border:1px solid transparent;border-radius:8px;background:var(--paper);color:var(--ink);font-size:12px;align-items:center;margin:6px 0;text-align:left}.song-entry>button>span{margin-left:auto;color:var(--muted)}.song-entry>button.selected,.stand-order>button.selected{border-color:var(--accent);background:var(--soft);color:var(--accent)}.song-entry .row-actions{flex-wrap:wrap}.music-download,.stand-pack-controls{display:flex;align-items:flex-end;gap:15px;padding:20px 25px 0}.music-download>.field,.stand-pack-controls>.field{flex:1;margin:0}.music-download>.button{margin-bottom:1px}.music-stand-page{padding:35px;max-width:1400px;margin:auto;min-height:100dvh}.stand-pack-controls{padding:0;margin-bottom:16px}.stand-order{padding:14px 20px}.stand-order>button>strong{flex:1;font-size:12px;font-weight:600}.stand-order small{color:var(--muted);font-size:10px}.stand-order>button:disabled{opacity:1;color:var(--muted);background:transparent;cursor:default}.chart-view{padding:24px}.chart-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:25px}.chart-controls .field{width:130px;font-size:10px;margin-bottom:15px}.chart-controls .button{font-size:11px;margin-bottom:15px}.chart-heading{margin-bottom:22px}.chart-heading h2{font-size:26px;letter-spacing:-.6px}.chart-heading p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:7px}.chord-chart{overflow-x:auto;padding-bottom:8px;line-height:1.4}.chart-source-line{display:flex;gap:12px;margin-bottom:3px;align-items:flex-start;min-height:1.3em}.chart-line-content{flex:1;min-width:max-content}.chord-line{display:flex;white-space:pre;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;padding:3px 0;min-height:2.7em}.chord-chunk{display:flex;flex-direction:column}.chord-chunk b{color:var(--accent);font-size:.8em;min-width:1.25em;padding-right:.5em;line-height:1.4;min-height:1.4em}.chart-source-line h3{font-size:.8em;color:var(--accent);font-weight:700;margin:16px 0 8px;text-transform:capitalize;letter-spacing:.04em}.chart-source-line.comment p,.chart-comment{font-size:12px;color:var(--muted);font-style:italic;margin:12px 0}.chart-source-line.unsupported p{font-size:11px;white-space:pre-wrap;color:var(--muted);border-left:2px solid var(--line);padding-left:8px}.chart-source-line pre{font-family:ui-monospace,monospace;white-space:pre;font-size:.8em}.annotation-button{border:0;background:transparent;color:var(--muted);font-size:18px;padding:5px;min-width:30px;position:sticky;right:0}.chart-annotation{font-family:inherit;font-size:12px!important;white-space:pre-wrap;background:var(--soft);color:var(--accent);padding:8px 12px;border-left:2px solid var(--accent);margin:7px 0;max-width:75ch;line-height:1.6}.chart-annotation small{font-size:9px}.chart-conflict{font-size:11px!important;color:#b15b33!important}.chart-orphans{padding:15px;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin-top:20px;font-size:11px;line-height:1.7}.chart-orphans code{white-space:pre-wrap}.chart-orphans>div{padding:10px 0}.practice-links{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.practice-links h3{font-size:13px;margin-bottom:8px}.practice-links a{display:inline-flex;margin:12px 12px 0 0;font-size:12px;color:var(--accent);text-decoration:underline}.chart-copyright{margin-top:25px;font-size:10px;color:var(--muted)}.stand-next{display:flex;justify-content:space-between;padding:0 24px 24px}.source-editor,.note-source{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px!important}.note-source{background:var(--paper);padding:12px;white-space:pre-wrap;margin:15px 0}.offline-entry{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);color:var(--accent);font-size:13px;text-decoration:underline}
@media(max-width:1000px){.music-layout{grid-template-columns:1fr}.stand-layout{grid-template-columns:minmax(160px,.55fr) minmax(0,2fr)}.music-stand-page{padding:25px}.stand-order{padding:8px}}
@media(max-width:760px){.music-stand-page{padding:22px 16px}.stand-layout{grid-template-columns:1fr}.stand-order{display:flex;overflow-x:auto;gap:8px;padding:12px}.stand-order>button{min-width:160px;max-width:210px;flex-shrink:0;flex-wrap:wrap}.stand-order>button>strong{min-width:80%;line-height:1.5}.chart-view{padding:18px 14px}.chart-controls{gap:10px}.chart-controls .field{width:110px}.music-download,.stand-pack-controls{flex-wrap:wrap}.music-download>.field,.stand-pack-controls>.field{min-width:100%}.chart-heading h2{font-size:23px}.chart-line-content{min-width:max-content}.chart-annotation{max-width:36ch}.chart-controls input[type=range]{padding:0}}
@media print{.sidebar,.topbar,.mobile-nav,.back-link,.page-header,.music-list,.chart-controls,.annotation-button,.practice-links,.stand-order,.stand-pack-controls,.stand-next,.panel-header,.music-download,.offline-entry{display:none!important}.workspace,.main-content,.music-stand-page,.chart-view{margin:0;padding:0;width:100%;max-width:none}.music-layout,.stand-layout{display:block}.music-layout>.panel:first-child{display:none}.panel{border:0;box-shadow:none}.chord-chart{overflow:visible}.chart-source-line{break-inside:avoid}.chart-heading{break-after:avoid}:root,.dark{--paper:#fff;--surface:#fff;--ink:#111;--muted:#444;--accent:#111;--soft:#eee}}
.calendar-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.calendar-provider-grid .panel-text>.button{margin:0 10px 15px 0}.calendar-provider-grid .panel-text>p{margin:0 0 20px}.calendar-source-list,.calendar-review{padding:0 25px}.calendar-source-card{display:flex;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.calendar-source-card strong{font-size:14px}.calendar-source-card p,.calendar-review p{color:var(--muted);font-size:11px;line-height:1.6;margin:6px 0}.calendar-source-card small,.calendar-review small{color:var(--muted);font-size:10px;line-height:1.6}.calendar-source-card .row-actions{flex-wrap:wrap}.connection-row{display:flex;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;font-size:11px;gap:10px}.connection-row>span{flex:1;min-width:140px}.calendar-toolbar{display:flex;align-items:center;gap:5px}.calendar-toolbar .button{padding:8px 11px;font-size:11px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 25px 25px;gap:1px}.weekday{text-align:center;color:var(--muted);font-size:10px;font-weight:600;padding:12px 0}.calendar-day{background:var(--paper);border:1px solid var(--line);color:var(--ink);text-align:left;min-height:98px;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:0}.calendar-day>span{font-size:11px;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;border-radius:50%}.calendar-day.today>span{background:var(--accent);color:var(--surface)}.calendar-day.outside{opacity:.4}.calendar-day.chosen{outline:2px solid var(--accent);outline-offset:-2px}.calendar-day small{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--soft);color:var(--accent);padding:4px;width:100%;border-radius:4px}.calendar-day em{font-size:9px;color:var(--muted);font-style:normal}.calendar-agenda{border-top:1px solid var(--line);padding:0 25px}.calendar-event-row{display:flex;gap:15px;text-align:left;align-items:center;width:100%;padding:20px 0;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:transparent}.calendar-event-row strong{font-size:13px}.calendar-event-row p{color:var(--muted);font-size:11px;margin:7px 0}.calendar-event-row small{color:var(--muted);font-size:10px}.calendar-event-row>.date-tile strong{font-size:20px}.event-description{white-space:pre-wrap;font-size:13px;line-height:1.8}.member-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.member-cards>a{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.member-cards>a>svg{color:var(--accent)}.member-cards strong{font-size:16px}.member-cards p{font-size:11px;line-height:1.7;color:var(--muted)}.checkbox-label{margin:14px 0;line-height:1.7}.checkbox-label input{flex-shrink:0}
@media(max-width:1100px){.member-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-provider-grid{grid-template-columns:1fr}.calendar-source-card{align-items:flex-start}.calendar-source-card .row-actions{max-width:150px}.calendar-day{min-height:85px;padding:7px}}
@media(max-width:760px){.calendar-grid{padding:0 10px 18px}.calendar-day{min-height:80px;padding:4px;gap:5px}.calendar-day small{font-size:8px;padding:2px}.calendar-day>span{font-size:10px;height:20px;min-width:20px}.calendar-agenda,.calendar-source-list,.calendar-review{padding:0 18px}.calendar-source-card{flex-direction:column;gap:14px}.calendar-source-card .row-actions{max-width:none}.calendar-review .simple-row{flex-wrap:wrap}.calendar-review .simple-row>.grow{min-width:65%}.calendar-toolbar{flex-wrap:wrap}.calendar-provider-grid .panel-header{padding:20px}.member-cards{gap:12px}.member-cards>a{padding:18px}.member-cards strong{font-size:14px}.member-cards p{font-size:10px}.calendar-event-row p{line-height:1.7}.calendar-event-row>svg{display:none}.calendar-event-row strong{font-size:12px}}
.service-studio{max-width:1500px;margin:auto}.service-breadcrumb{display:flex;align-items:center;gap:16px;margin:0 0 19px;font-size:10px;color:var(--muted)}.service-breadcrumb a{display:inline-flex;gap:6px;align-items:center}.service-breadcrumb>span{border-left:1px solid var(--line);padding-left:16px}.service-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}.service-heading h1{font-size:31px;letter-spacing:-1px;line-height:1.2;font-weight:650}.service-heading p{font-size:12px;color:var(--muted);margin-top:9px}.service-heading-actions{display:flex;gap:7px;align-items:center}.service-heading-actions .button{padding:10px 13px;font-size:11px}.service-navigation{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:22px;gap:12px}.service-navigation [role=tablist]{display:flex;gap:20px}.service-navigation [role=tab]{display:inline-flex;align-items:center;gap:8px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;padding:12px 0;font-weight:500}.service-navigation [role=tab][aria-selected=true]{color:var(--accent);border-color:var(--accent);font-weight:650}.service-navigation [role=tab] span{font-size:9px;background:var(--hover);padding:3px 6px;border-radius:5px}.service-save-status{font-size:10px;color:var(--muted)}.service-save-error{padding:13px 16px;border:1px solid #b56255;border-radius:8px;margin-bottom:18px;font-size:12px;background:var(--surface)}.service-save-error button{margin-left:10px;background:none;border:0;color:var(--accent);text-decoration:underline}.service-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.service-order,.service-team-column{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:0}.service-order-heading,.service-team-heading{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;gap:12px}.service-order-heading h2,.service-team-heading h2{font-size:15px;font-weight:650;letter-spacing:-.3px}.service-order-heading p,.service-team-heading p{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:7px;line-height:1.6}.service-order-heading .button{font-size:11px;padding:9px 12px}.plan-overrun{margin-left:5px;color:#b16742}.service-preparation{border-top:1px solid var(--line);padding:11px 20px;font-size:11px;color:var(--muted)}.service-preparation summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-weight:500}.service-preparation p{white-space:pre-wrap;font-size:12px;line-height:1.8;margin-top:12px;padding-bottom:6px;color:var(--ink)}.service-preparation[open] summary svg{transform:rotate(180deg)}.plan-column-labels,.studio-row-main{display:grid;grid-template-columns:24px 68px minmax(0,1fr) 60px 52px;gap:8px;align-items:center}.plan-column-labels{padding:10px 16px;background:var(--hover);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}.plan-column-labels span:nth-child(4){text-align:right}.studio-plan-row{background:var(--surface);border-bottom:1px solid var(--line)}.studio-row-main{padding:10px 16px;min-height:59px}.studio-plan-row.dragging{box-shadow:0 12px 28px #0002;border:1px solid var(--accent);border-radius:8px}.plan-grip{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:var(--muted);cursor:grab;padding:8px 0;min-height:36px;width:24px}.plan-grip:active{cursor:grabbing}.plan-grip:focus-visible{outline:2px solid var(--accent);border-radius:5px}.plan-row-number{font-size:10px;color:var(--muted)}.plan-start{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.plan-item-content{display:flex;align-items:center;gap:10px;min-width:0}.plan-type-icon{color:var(--muted);flex-shrink:0}.type-song .plan-type-icon{color:var(--accent)}.plan-item-content>div{min-width:0}.plan-item-title{padding:0;background:none;border:0;color:var(--ink);font-size:12px;line-height:1.5;font-weight:600;text-align:left;word-break:break-word}.plan-item-title:disabled{opacity:1;cursor:default}.plan-item-title:not(:disabled):hover{color:var(--accent)}.plan-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:9px;line-height:1.5;color:var(--muted);margin-top:3px}.plan-item-meta>span:first-child{text-transform:capitalize}.plan-item-meta a:hover{text-decoration:underline}.plan-key{background:var(--soft);color:var(--accent);border-radius:4px;padding:1px 5px;font-weight:650}.plan-duration{display:flex;align-items:center;justify-content:flex-end;position:relative;gap:2px;font-size:10px;color:var(--muted)}.plan-duration input{font-size:11px;appearance:textfield;-moz-appearance:textfield;text-align:right;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:5px;width:43px;padding:7px 3px;font-variant-numeric:tabular-nums}.plan-duration input::-webkit-inner-spin-button,.plan-duration input::-webkit-outer-spin-button{appearance:none;margin:0}.plan-duration input:hover,.plan-duration input:focus{background:var(--paper);border-color:var(--line)}.plan-duration small{position:absolute;top:100%;right:0;z-index:10;width:180px;background:var(--surface);border:1px solid #b56255;padding:8px;border-radius:6px;box-shadow:var(--shadow);font-size:10px}.plan-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:0}.plan-item-actions .icon-button{width:25px;height:28px;min-width:25px;padding:3px}.plan-item-actions .active svg{transform:rotate(180deg)}.plan-item-menu{position:relative}.plan-item-menu>summary{list-style:none;cursor:pointer;color:var(--muted);padding:1px 5px;font-size:20px;letter-spacing:1px;line-height:26px}.plan-item-menu>summary::-webkit-details-marker{display:none}.plan-item-menu>div{position:absolute;right:0;top:30px;z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;min-width:150px;padding:5px}.plan-item-menu button{display:block;background:none;border:0;color:var(--ink);font-size:11px;text-align:left;padding:10px;width:100%;border-radius:4px}.plan-item-menu button:hover{background:var(--hover)}.plan-item-menu button:last-child{color:#b56255}.plan-expanded-note{white-space:pre-wrap;font-size:11px;line-height:1.8;color:var(--muted);padding:0 80px 12px 124px}.plan-quick-add{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:13px 20px;font-size:10px;border-bottom:1px solid var(--line)}.plan-quick-add>span{color:var(--muted);margin-right:4px}.plan-quick-add button{display:inline-flex;gap:3px;align-items:center;background:none;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:10px;padding:6px 8px}.plan-quick-add button:hover{color:var(--accent);background:var(--soft);border-color:var(--accent)}.plan-end{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:10px;color:var(--muted);background:var(--hover);border-radius:0 0 12px 12px}.plan-end strong{color:var(--ink)}.studio-team{border-top:1px solid var(--line);padding:11px 16px}.studio-team>header{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:5px}.studio-team>header .icon-button{width:24px;height:24px}.studio-volunteer{display:flex;gap:6px;align-items:center;padding:9px 0}.studio-volunteer>div{flex:1;min-width:0}.studio-volunteer strong{font-size:11px;font-weight:550;display:block;line-height:1.5}.studio-volunteer small{display:block;margin-top:2px;font-size:9px;color:var(--muted)}.studio-volunteer .badge{font-size:8px;padding:3px 5px;text-transform:capitalize}.studio-volunteer .icon-button{width:20px;height:22px;padding:2px;min-width:20px}.plan-add-team{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:14px;background:none;border:0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.teams-focus{grid-template-columns:1fr}.teams-focus .service-order{display:none}.teams-focus .service-team-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.teams-focus .service-team-heading,.teams-focus .plan-add-team{grid-column:1/-1}.teams-focus .studio-team{border-right:1px solid var(--line)}.plan-kind-picker{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:23px}.plan-kind-picker button{display:flex;gap:6px;align-items:center;padding:9px 11px;background:var(--paper);color:var(--muted);border:1px solid var(--line);border-radius:7px;font-size:11px}.plan-kind-picker button.selected{background:var(--soft);color:var(--accent);border-color:var(--accent)}.plan-song-picker,.plan-title-duration{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:16px}.plan-form-error{color:#b56255;font-size:12px}.service-attendance .page-header{margin-bottom:17px}.service-attendance .page-header h1{font-size:20px}.service-attendance .stats-grid .stat{padding:16px}.service-attendance .stats-grid .stat strong{font-size:27px}.service-attendance .attendance-controls>.field{display:none}
@media(max-width:1150px){.service-workspace{grid-template-columns:minmax(0,1fr) 270px;gap:15px}.service-heading h1{font-size:28px}.studio-row-main,.plan-column-labels{grid-template-columns:22px 59px minmax(0,1fr) 48px 46px;gap:5px;padding-left:12px;padding-right:12px}.plan-expanded-note{padding-left:104px}.service-team-heading{padding:17px 14px}.service-order-heading{padding:17px}.service-team-heading p{font-size:9px}}
@media(max-width:980px){.service-workspace{grid-template-columns:1fr}.service-workspace:not(.teams-focus) .service-team-column{display:none}.teams-focus .service-team-column{grid-template-columns:repeat(2,minmax(0,1fr))}.service-save-status{font-size:9px}}
@media(max-width:760px){.service-breadcrumb{margin-bottom:15px}.service-heading{align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:12px}.service-heading h1{font-size:25px}.service-heading p{font-size:11px;line-height:1.6}.service-heading-actions{width:100%;justify-content:flex-end}.service-heading-actions .button{margin-right:auto}.service-navigation{margin-bottom:16px;flex-wrap:wrap;gap:0}.service-navigation [role=tablist]{gap:22px}.service-save-status{display:none}.service-order-heading{padding:15px 13px}.service-order-heading h2{font-size:14px}.service-order-heading .button{padding:8px 9px;font-size:10px}.service-order-heading p{font-size:9px}.studio-row-main,.plan-column-labels{grid-template-columns:22px 51px minmax(0,1fr) 42px 40px;gap:4px;padding-left:8px;padding-right:8px}.studio-row-main{min-height:61px}.plan-start{font-size:9px}.plan-item-content{gap:6px}.plan-item-title{font-size:11px}.plan-type-icon{display:none}.plan-item-meta{font-size:8px;gap:4px}.plan-item-actions .icon-button{width:21px;min-width:21px}.plan-duration input{width:30px;padding:9px 0;font-size:11px}.plan-grip{min-height:42px}.plan-expanded-note{padding:0 20px 12px 89px;font-size:10px}.plan-quick-add{padding:12px;gap:6px}.plan-quick-add>span{display:none}.plan-quick-add button{padding:8px 7px;font-size:9px}.plan-end{padding:12px}.plan-song-picker,.plan-title-duration{gap:10px;grid-template-columns:minmax(0,1fr) 80px}.plan-kind-picker{gap:5px}.plan-kind-picker button{font-size:10px;padding:8px}.teams-focus .service-team-column{grid-template-columns:1fr}.service-attendance .page-header .header-actions{flex-wrap:wrap}.service-attendance .attendance-controls{justify-content:flex-end}.service-attendance .page-header p{font-size:11px}.service-attendance .stats-grid .stat{padding:13px}.service-attendance .stats-grid .stat strong{font-size:25px}}
.service-workspace.teams-focus{grid-template-columns:1fr}
.service-team-column .team-accordion{padding:0;border-right:0}.team-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;padding:13px 16px;min-height:54px;transition:background .15s}.team-accordion>summary::-webkit-details-marker{display:none}.team-accordion>summary:hover{background:var(--hover)}.team-accordion>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:6px}.team-accordion-title{display:flex;flex-direction:column;gap:4px;min-width:0}.team-accordion-title strong{font-size:12px;font-weight:600;line-height:1.4}.team-accordion-title small{font-size:9px;color:var(--muted);line-height:1.4}.team-accordion-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:6px;color:var(--muted);flex-shrink:0}.team-accordion-toggle svg{transition:transform .15s}.team-accordion[open] .team-accordion-toggle svg{transform:rotate(180deg)}.team-accordion[open]>summary{background:var(--hover)}.team-accordion-body{padding:3px 16px 12px}.team-schedule-action{display:flex;align-items:center;gap:6px;font-size:10px;padding:8px 0;border:0;background:none;color:var(--accent);margin-top:4px}.team-no-assignment{font-size:11px;color:var(--muted);padding:11px 0;line-height:1.6}.teams-focus .service-team-column{display:block}.teams-focus .team-accordion>summary{padding:13px 20px;min-height:57px}.teams-focus .team-accordion-title{flex-direction:row;align-items:center;gap:15px;flex-wrap:wrap}.teams-focus .team-accordion-body{padding:3px 20px 12px}.teams-focus .studio-volunteer{max-width:640px;border-bottom:1px solid var(--line)}@media(max-width:760px){.teams-focus .team-accordion>summary{padding:13px 15px}.teams-focus .team-accordion-title{flex-direction:column;align-items:flex-start;gap:3px}.teams-focus .team-accordion-body{padding:3px 15px 12px}}
.attendance-compact-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.attendance-compact-heading h1{font-size:25px;letter-spacing:-.7px}.attendance-compact.embedded .attendance-compact-heading h1{font-size:18px}.attendance-inline-totals{display:flex;align-items:center;gap:13px;font-size:11px;color:var(--muted)}.attendance-inline-totals>strong{display:inline-flex;align-items:baseline;gap:6px;color:var(--accent);font-size:23px;font-weight:650;border-right:1px solid var(--line);padding-right:13px;font-variant-numeric:tabular-nums}.attendance-inline-totals strong span{font-size:10px;font-weight:500;color:var(--muted)}.attendance-roster-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.attendance-roster-toolbar{display:grid;grid-template-columns:minmax(160px,1fr) 135px auto;gap:10px;align-items:center;padding:12px 15px;border-bottom:1px solid var(--line)}.attendance-search{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted)}.attendance-search input{width:100%;min-width:0;background:none;border:0;color:var(--ink);padding:9px 0;font-size:12px;outline-offset:3px}.attendance-search svg{flex-shrink:0}.attendance-search .icon-button{width:25px;min-width:25px;height:30px}.attendance-status-filter{padding:9px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:7px;font-size:11px;min-height:37px;min-width:0;width:100%}.attendance-icon-actions{display:flex;align-items:center;gap:4px}.attendance-icon-actions>.icon-button,.attendance-headcount>summary{height:37px;width:37px;min-width:37px;border-radius:7px}.attendance-icon-actions>.icon-button.active{background:var(--soft);color:var(--accent)}.attendance-icon-actions>.attendance-add-guest{background:var(--accent);color:var(--surface)}.attendance-headcount{position:relative}.attendance-headcount>summary{list-style:none;cursor:pointer}.attendance-headcount>summary::-webkit-details-marker{display:none}.attendance-headcount[open]>summary{background:var(--soft);color:var(--accent)}.attendance-headcount>form{position:absolute;right:0;top:43px;z-index:30;width:230px;max-width:calc(100vw - 40px);border:1px solid var(--line);border-radius:10px;padding:17px;background:var(--surface);box-shadow:0 10px 30px #0002}.attendance-headcount .field{margin-bottom:10px}.attendance-headcount p{font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:8px}.attendance-headcount form>.icon-button{margin-left:auto;background:var(--soft);color:var(--accent)}.attendance-filter-row{display:flex;gap:13px;align-items:flex-end;padding:12px 15px;background:var(--hover);border-bottom:1px solid var(--line)}.attendance-filter-row .field{margin:0;flex:1;max-width:320px;font-size:10px;gap:5px}.attendance-filter-row .field:nth-child(2){max-width:180px}.attendance-filter-row .field select{min-height:34px;padding:8px;font-size:11px}.attendance-filter-row>.icon-button{margin-bottom:0;height:34px;min-width:30px}.attendance-roster-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 15px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted);background:var(--hover)}.attendance-roster-caption button{display:inline-flex;align-items:center;gap:4px;background:none;border:0;color:var(--accent);font-size:10px;padding:2px}.attendance-compact .attendance-roster{padding:0 15px}.attendance-compact .attendance-person{padding:8px 0;gap:10px;min-height:54px}.attendance-compact .attendance-person .avatar{width:28px;height:28px;font-size:9px}.attendance-compact .attendance-person strong{font-size:12px;line-height:1.4}.attendance-compact .attendance-person small{font-size:9px;margin-top:3px}.attendance-compact .present-button{width:37px;min-width:37px;height:37px;padding:0;border-radius:7px;flex-shrink:0}.attendance-compact .attendance-household-button{width:33px;min-width:33px;height:37px;padding:5px}.attendance-compact .present .avatar{background:var(--soft);color:var(--accent)}
@media(max-width:900px){.attendance-roster-toolbar{grid-template-columns:minmax(140px,1fr) 115px auto;gap:7px;padding:10px}.attendance-icon-actions{gap:2px}.attendance-icon-actions>.icon-button,.attendance-headcount>summary{width:34px;min-width:34px}.attendance-inline-totals{gap:9px;font-size:10px}}
@media(max-width:760px){.attendance-compact-heading{gap:12px;flex-wrap:wrap;margin-bottom:12px}.attendance-compact-heading h1{font-size:21px}.attendance-inline-totals{gap:10px;font-size:10px}.attendance-inline-totals>strong{font-size:20px;padding-right:10px}.attendance-roster-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 11px}.attendance-search{grid-column:1/-1}.attendance-search input{font-size:12px;padding:7px 0}.attendance-status-filter{max-width:145px;min-height:40px}.attendance-icon-actions{justify-content:flex-end;gap:2px}.attendance-icon-actions>.icon-button,.attendance-headcount>summary{width:37px;min-width:37px;height:40px}.attendance-headcount>form{position:fixed;top:auto;right:18px;left:18px;width:auto;margin-top:7px;z-index:45}.attendance-filter-row{gap:8px;padding:10px 11px}.attendance-filter-row .field{min-width:0}.attendance-filter-row .field:nth-child(2){max-width:115px}.attendance-roster-caption{padding:9px 11px;font-size:9px;gap:6px;flex-wrap:wrap}.attendance-roster-caption>span:last-child{margin-left:auto}.attendance-compact .attendance-roster{padding:0 11px}.attendance-compact .attendance-person{padding:7px 0;min-height:55px}.attendance-compact .attendance-person strong{font-size:11px}.attendance-compact .present-button,.attendance-compact .attendance-household-button{height:40px;width:40px;min-width:40px}.attendance-compact .attendance-person .avatar{width:26px;height:26px}.attendance-roster-caption button{font-size:9px}}
.refined-item-form .field{margin-bottom:12px;gap:6px;font-size:10px}.refined-item-form .field input,.refined-item-form .field select,.refined-item-form .field textarea{min-height:37px;padding:9px 11px;font-size:12px}.plan-type-glyphs{display:flex;gap:7px;margin-bottom:19px;padding-bottom:16px;border-bottom:1px solid var(--line)}.plan-type-glyphs button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--muted);padding:10px 7px;border-radius:7px;font-size:10px}.plan-type-glyphs button.selected{background:var(--soft);color:var(--accent);border-color:var(--accent)}.plan-type-glyphs button svg{flex-shrink:0}.plan-picker-step{display:flex;align-items:center;gap:8px;margin:13px 0 9px;min-height:25px}.plan-picker-step>span{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;background:var(--hover);border:1px solid var(--line);color:var(--muted);font-size:9px;border-radius:5px}.plan-picker-step h3{font-size:11px;font-weight:600;margin:0}.plan-picker-step .icon-button{margin-left:auto;width:29px;height:28px}.plan-library-search{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--paper)}.plan-library-searchbox{display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface)}.plan-library-searchbox input{width:100%;min-width:0;background:none;border:0;color:var(--ink);padding:12px 0;font-size:12px;outline-offset:2px}.plan-library-searchbox svg{flex-shrink:0}.plan-library-results{max-height:245px;overflow:auto;overscroll-behavior:contain;background:var(--surface)}.plan-library-results>button{display:flex;align-items:center;gap:11px;padding:12px;width:100%;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);text-align:left}.plan-library-results>button:last-child{border-bottom:0}.plan-library-results>button:hover,.plan-library-results>button.selected{background:var(--soft)}.plan-library-results>button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.plan-library-results>button strong{display:block;font-size:12px;line-height:1.5;font-weight:600}.plan-library-results>button small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.5}.plan-library-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:31px;height:31px;border-radius:7px;color:var(--accent);background:var(--soft)}.plan-library-result-count{font-size:9px;color:var(--muted);padding:8px 12px;border-top:1px solid var(--line);margin:0}.plan-picked-song{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--accent);border-radius:8px;background:var(--soft);color:var(--accent)}.plan-picked-song>div{flex:1;min-width:0}.plan-picked-song strong{display:block;font-size:14px;font-weight:600;line-height:1.5}.plan-picked-song small{display:block;font-size:10px;margin-top:3px;color:var(--muted)}.plan-arrangement-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.plan-arrangement-options>label{display:grid;grid-template-columns:15px 1fr;gap:3px 8px;align-items:center;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:10px;cursor:pointer}.plan-arrangement-options>label.selected{border-color:var(--accent);background:var(--soft)}.plan-arrangement-options input{margin:0;grid-row:span 2;accent-color:var(--accent)}.plan-arrangement-options strong{font-size:11px;font-weight:550;line-height:1.5}.plan-arrangement-options small{font-size:9px;color:var(--muted)}.plan-service-key-row{display:flex;align-items:center;gap:13px;padding:9px 0;margin-top:8px;flex-wrap:wrap}.plan-service-key-row .plan-picker-step{margin:0}.plan-service-key-row>select{width:105px;border:1px solid var(--line);border-radius:7px;padding:9px;background:var(--paper);color:var(--ink);font-size:12px}.plan-service-key-row>small{font-size:9px;color:var(--muted)}.plan-service-key-row.waiting{opacity:.55}.plan-manual-song,.plan-manual-summary button{font-size:10px;color:var(--muted);background:none;border:0;padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.plan-manual-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px;background:var(--hover);border-radius:7px;font-size:11px;margin-bottom:15px}.plan-picker-empty{padding:17px 12px;font-size:11px;color:var(--muted);line-height:1.7;margin:0}.plan-song-duration{border-top:1px solid var(--line);margin-top:8px;padding-top:13px}.plan-song-duration>.field{max-width:90px}.plan-item-options{border-top:1px solid var(--line);padding-top:12px}.plan-item-options>summary{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);list-style:none;cursor:pointer;padding-bottom:11px}.plan-item-options>summary::-webkit-details-marker{display:none}.plan-item-options[open]>summary svg{transform:rotate(180deg)}.plan-item-options .field:last-child{margin-bottom:0}.refined-item-form .form-footer{padding-top:14px;margin-top:15px}.refined-item-form .form-footer .button{font-size:11px;padding:10px 13px}
@media(max-width:760px){.plan-type-glyphs{gap:6px;margin-bottom:15px;padding-bottom:13px}.plan-type-glyphs button{min-height:41px;padding:8px}.plan-type-glyphs button span{display:none}.plan-library-results{max-height:205px}.plan-arrangement-options{grid-template-columns:1fr}.plan-picked-song strong{font-size:13px}.plan-service-key-row{gap:10px}.plan-service-key-row>small{width:100%;padding-left:27px}.plan-manual-summary{flex-wrap:wrap;gap:4px}.plan-library-results>button{padding:11px}.plan-song-duration{margin-top:6px}}
.service-heading-content{min-width:0;flex:1;width:auto}.service-studio{position:relative;isolation:isolate}.service-studio:has(>.service-header-artwork){padding-top:140px}.service-header-artwork{position:absolute;top:0;left:0;right:0;height:420px;overflow:hidden;border-radius:12px 12px 0 0;pointer-events:none;z-index:0}.service-header-artwork img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.service-header-artwork:before{content:"";position:absolute;inset:0;z-index:1;background:rgba(255,255,255,.25)}.dark .service-header-artwork:before{background:rgba(0,0,0,.25)}.service-header-artwork:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,transparent 0%,transparent 10%,var(--paper) 76%,var(--paper) 100%)}.service-studio>.service-breadcrumb,.service-studio>.service-heading,.service-studio>.service-navigation,.service-studio>.service-workspace,.service-studio>.service-attendance,.service-studio>.service-save-error{position:relative;z-index:1}.service-studio:has(>.service-header-artwork)>.service-breadcrumb,.service-studio:has(>.service-header-artwork)>.service-heading{padding-left:20px;padding-right:20px;color:var(--ink)}.service-studio:has(>.service-header-artwork)>.service-heading p,.service-studio:has(>.service-header-artwork) .service-heading-actions .icon-button{color:var(--ink)}@media(max-width:760px){.service-studio:has(>.service-header-artwork){padding-top:100px}.service-header-artwork{height:340px;border-radius:9px 9px 0 0}.service-header-artwork img{object-position:center center}.service-studio:has(>.service-header-artwork)>.service-breadcrumb,.service-studio:has(>.service-header-artwork)>.service-heading{padding-left:12px;padding-right:12px}}
.service-title-row{display:flex;align-items:center;gap:14px;min-width:0}.service-title-row h1{min-width:0;overflow-wrap:anywhere}.service-title-row .service-heading-actions{width:auto;flex:none;justify-content:flex-start;gap:3px;align-self:center}.service-title-row .icon-button{width:36px;height:36px;min-width:36px}.gathering-copy-explanation{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 18px}@media(max-width:760px){.service-title-row{gap:8px;align-items:flex-start}.service-title-row h1{flex:1}.service-title-row .service-heading-actions{align-self:flex-start}.service-title-row .icon-button{width:38px;height:38px;min-width:38px}}
.plan-item-context{font-size:11px;font-weight:550;color:var(--muted);line-height:1.5;margin:0 0 12px}
/* Keep touch-device fields at 16px before focus to avoid iOS automatic viewport zoom.
   Leave pinch-to-zoom enabled; desktop compact typography remains unchanged. */
@media (max-width:1024px),(pointer:coarse){
  :root input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]),
  :root textarea,:root select,:root [contenteditable]:not([contenteditable=false]){font-size:16px!important}
  .plan-duration input{width:42px;min-width:42px}
  .plan-service-key-row>select{width:130px}
  .plan-song-duration>.field{max-width:105px}
}


.services-index-heading{margin-bottom:20px}.services-index-title{display:flex;align-items:center;gap:12px}.services-index-title h1{font-size:30px;letter-spacing:-.8px;min-width:0}.services-index-heading>p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}.services-add{background:var(--soft);color:var(--accent);width:37px;height:37px}.services-list-toolbar{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 10px}.services-search{display:flex;align-items:center;gap:8px;flex:1;min-width:120px;color:var(--muted)}.services-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font-size:12px;padding:10px 2px}.services-list-toolbar>select{min-width:0;background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:9px 8px;font-size:11px;max-width:150px}.services-list-caption{display:flex;justify-content:space-between;align-items:center;padding:10px 3px;font-size:10px;color:var(--muted)}.services-list-caption button{font-size:10px;padding:3px 0;background:none;border:0;color:var(--accent)}.service-card-list{display:grid;gap:9px}.service-list-card{display:flex;align-items:center;gap:17px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);transition:background .15s,border-color .15s}.service-list-card:hover{background:var(--hover);border-color:var(--accent)}.service-date-tile{position:relative;width:78px;min-width:78px;height:78px;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--soft);color:var(--accent);isolation:isolate}.service-date-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.service-date-shade{position:absolute;inset:0;background:transparent;z-index:1}.has-artwork .service-date-shade{background:rgba(5,13,10,.67)}.has-artwork .service-date-label{color:#fff;text-shadow:0 1px 4px #0008}.service-date-label{position:relative;z-index:2;text-align:center}.service-date-label small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;line-height:1.4}.service-date-label strong{display:block;font-size:28px;font-weight:650;line-height:1.2}.service-card-content{flex:1;min-width:0}.service-card-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.service-card-title>strong{font-size:14px;font-weight:600;overflow-wrap:anywhere;line-height:1.5}.service-card-kind{border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:9px;padding:2px 5px}.service-card-content>p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:3px;overflow-wrap:anywhere}.service-card-content>small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.service-card-arrow{flex-shrink:0;color:var(--muted)}.service-artwork-editor{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:9px;padding:12px;margin:4px 0 18px}.service-artwork-editor .grow{min-width:0}.service-artwork-editor strong{font-size:12px}.service-artwork-editor p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:4px}.service-artwork-actions{display:flex;gap:5px;margin-top:4px}.service-artwork-actions .icon-button{border:1px solid var(--line)}
@media(max-width:760px){.services-index-title h1{font-size:25px}.services-index-heading{margin-bottom:15px}.services-list-toolbar{flex-wrap:wrap;gap:6px}.services-search{flex-basis:100%}.services-list-toolbar>select{flex:1;max-width:none;width:30%;padding:9px 5px}.service-list-card{gap:11px;padding:10px}.service-date-tile{width:65px;min-width:65px;height:74px}.service-date-label strong{font-size:26px}.service-card-title>strong{font-size:12px}.service-card-content>p{font-size:10px}.service-card-content>small{font-size:9px}.service-card-kind{font-size:8px}.service-card-arrow{width:14px}}


.overview-refined .page-header{margin-bottom:18px;gap:12px}.overview-refined .page-header p{margin-top:6px;font-size:12px}.overview-refined .welcome-card{position:relative;min-height:0;padding:24px 28px;margin-bottom:18px;overflow:hidden}.overview-refined .welcome-card h2{font-size:27px;line-height:1.2;margin:12px 0}.overview-refined .welcome-card p{font-size:12px;line-height:1.65;margin-bottom:15px}.overview-refined .welcome-card .button{padding:9px 12px;font-size:11px}.overview-refined .welcome-visual{transform:scale(.78);transform-origin:center;min-height:170px}.overview-refined .welcome-dismiss{position:absolute;top:10px;right:10px;z-index:2;color:var(--ink);background:var(--surface);width:30px;height:30px;border:1px solid var(--line)}.overview-refined .stats-grid{gap:10px;margin-bottom:18px}.overview-refined .stat{padding:14px 16px;border-radius:10px}.overview-refined .stat strong{font-size:27px;margin:8px 0 5px;line-height:1.1}.overview-refined .stat small{font-size:10px;line-height:1.5}.overview-refined .stat-top{font-size:10px}.overview-refined .stat-top svg{width:16px;height:16px}.overview-refined .dashboard-grid{gap:16px;align-items:start}.overview-refined .panel{margin-bottom:0;border-radius:11px}.overview-refined .panel-header{padding:16px 18px 12px}.overview-refined .panel h2{font-size:14px}.overview-refined .list,.overview-refined .setup-list{padding:0 18px}.overview-refined .overview-gathering-row{padding:12px 0;gap:12px}.overview-gathering-row .service-date-tile{width:58px;min-width:58px;height:62px;border-radius:7px}.overview-gathering-row .service-date-label strong{font-size:24px}.overview-gathering-row .service-date-label small{font-size:9px;margin:0}.overview-gathering-row>div{flex:1;min-width:0}.overview-gathering-row>div>strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.overview-gathering-row>div>p{font-size:10px;line-height:1.6;margin-top:3px}.overview-refined .setup-list>a{padding:13px 0;gap:10px}.overview-refined .setup-list strong{font-size:11px}.overview-refined .setup-list p{margin-top:3px;line-height:1.5}.overview-refined .step-number{width:28px;height:28px;min-width:28px;font-size:10px}.overview-refined .attendance-note{margin:0;padding:13px 18px;background:var(--hover);border-top:1px solid var(--line)}.overview-refined .attendance-note>a{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:baseline}.overview-refined .attendance-note strong{font-size:12px}.overview-refined .attendance-note span{font-size:10px;color:var(--muted)}.overview-refined .attendance-note small{flex-basis:100%;font-size:10px;color:var(--muted);line-height:1.5}
@media(max-width:760px){.overview-refined .page-header{flex-direction:row;align-items:flex-start}.overview-refined .page-header h1{font-size:25px}.overview-refined .page-header p{font-size:11px}.overview-refined .welcome-card{padding:20px;min-height:0}.overview-refined .welcome-card h2{font-size:24px;padding-right:18px}.overview-refined .welcome-card p{font-size:11px}.overview-refined .welcome-visual{display:none}.overview-refined .stat{padding:12px}.overview-refined .stat strong{font-size:24px}.overview-refined .stat small{font-size:9px}.overview-refined .dashboard-grid{gap:14px}.overview-refined .panel-header{padding:14px 15px 9px}.overview-refined .list,.overview-refined .setup-list{padding:0 15px}}



.overview-event-banner{--event-shade:255,255,255;--event-ink:#19365F;--event-detail:#3D5A7C;--event-button-ink:#fff;position:relative;isolation:isolate;overflow:hidden;min-height:260px;border-radius:12px;margin-bottom:18px;background:var(--soft);color:var(--event-ink);border:1px solid var(--line)}.dark .overview-event-banner{--event-shade:16,34,55;--event-ink:#F3F7FB;--event-detail:#E2EFF8;--event-button-ink:#102237}.event-banner-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center}.event-banner-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(var(--event-shade),.96) 0%,rgba(var(--event-shade),.86) 48%,rgba(var(--event-shade),.45) 100%)}.event-banner-content{position:relative;z-index:2;padding:26px 30px;max-width:960px}.event-banner-eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:600;letter-spacing:1.4px;color:var(--event-detail)}.event-banner-content h2{font-size:30px;line-height:1.2;letter-spacing:-.6px;margin:12px 0;max-width:720px;overflow-wrap:anywhere;padding-right:25px}.event-banner-meta{display:flex;gap:8px 20px;flex-wrap:wrap;color:var(--event-detail);font-size:12px;line-height:1.5}.event-banner-meta>span{display:flex;align-items:center;gap:7px;overflow-wrap:anywhere}.event-banner-meta svg{flex:none}.event-banner-description{font-size:12px;line-height:1.7;color:var(--event-detail);max-width:640px;margin-top:12px;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-banner-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:20px}.event-banner-footer .event-banner-link{background:var(--accent);color:var(--event-button-ink);border:0;font-size:11px;padding:10px 13px}.event-banner-dismiss{position:absolute;right:11px;top:11px;z-index:3;background:var(--surface);color:var(--ink);border:1px solid var(--line);width:32px;height:32px}.event-banner-dismiss:hover,.event-banner-navigation .icon-button:hover{background:var(--hover);color:var(--ink)}.event-banner-navigation{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--event-ink)}.event-banner-navigation .icon-button{color:var(--ink);background:var(--surface);border:1px solid var(--line);width:30px;height:30px}.event-banner-navigation>a{margin-left:8px;text-decoration:underline;text-underline-offset:3px}.event-banner-retry{border:0;background:none;color:var(--event-ink);font-size:11px;text-decoration:underline}.event-banner-content a:focus-visible,.event-banner-content button:focus-visible,.event-banner-dismiss:focus-visible{outline-color:var(--accent)}
@media(max-width:760px){.overview-event-banner{min-height:245px}.event-banner-content{padding:23px 20px}.event-banner-content h2{font-size:25px}.event-banner-meta{font-size:11px;gap:7px}.event-banner-meta>span{flex-basis:100%}.event-banner-shade{background:linear-gradient(90deg,rgba(var(--event-shade),.96),rgba(var(--event-shade),.86))}.event-banner-content .event-banner-description{font-size:11px}.event-banner-footer{margin-top:17px;gap:12px}}


.event-detail-image{display:block;width:100%;max-height:260px;aspect-ratio:16/7;object-fit:cover;border-radius:10px;margin-bottom:20px}.event-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.event-info-section{min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:14px}.event-info-section h3{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--accent);margin-bottom:8px}.event-info-section h3 svg{flex:none}.event-info-section p{font-size:12px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;margin-top:4px}.event-info-section small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.event-detail-description{font-size:13px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere;margin:19px 0}.event-detail-link{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;margin-top:8px;overflow-wrap:anywhere;max-width:100%;width:fit-content}.event-register-button{margin-top:12px;font-size:12px;padding:10px 13px}.event-artwork-upload{display:flex;gap:13px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:12px;margin:0 0 18px;background:var(--paper)}.event-artwork-upload>img{width:130px;aspect-ratio:16/9;object-fit:cover;border-radius:6px;flex:none}.event-artwork-upload>div{min-width:0;flex:1}.event-artwork-upload strong{font-size:12px}.event-artwork-upload p,.event-artwork-upload span{font-size:10px;line-height:1.6;color:var(--muted);margin:4px 0 7px}.event-artwork-upload .icon-button{border:1px solid var(--line);margin-right:5px}.event-optional-fields{margin:17px 0}.event-optional-fields>details{border:1px solid var(--line);border-radius:8px;background:var(--paper);margin-bottom:8px;overflow:hidden}.event-optional-fields summary{cursor:pointer;font-size:12px;padding:13px;color:var(--ink);font-weight:550}.event-field-grid{padding:0 13px 3px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px}.event-field-grid .field{min-width:0}.event-field-grid .field:has(textarea){grid-column:1/-1}.event-editor-form .field{font-size:11px;gap:6px;margin-bottom:14px}.event-editor-hint{font-size:11px;color:var(--muted);line-height:1.7;margin-bottom:16px}.event-editor-form .checkbox-label{font-size:11px;margin:10px 0 14px}.calendar-event-row>.service-date-tile{width:59px;min-width:59px;height:64px}.calendar-event-row .service-date-label strong{font-size:24px}
@media(max-width:760px){.event-info-grid{grid-template-columns:1fr;gap:9px}.event-info-section{padding:12px}.event-detail-image{max-height:200px}.event-field-grid{grid-template-columns:1fr}.event-field-grid .field:has(textarea){grid-column:auto}.event-artwork-upload{flex-wrap:wrap}.event-artwork-upload>img{width:100%;max-height:180px}.event-editor-form .form-footer{flex-wrap:wrap;gap:8px}}


.service-title-row .service-serve-button{padding:8px 11px;font-size:11px;flex:none}.serve-runner{min-height:100dvh;padding:0 24px 100px;background:var(--paper);color:var(--ink)}.serve-runner-header{display:flex;align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding:16px 0;border-bottom:1px solid var(--line)}.serve-runner-header>div{flex:1;min-width:0}.serve-runner-header small{display:block;font-size:9px;letter-spacing:1.3px;color:var(--accent);margin-bottom:4px}.serve-runner-header strong{display:block;font-size:14px;overflow-wrap:anywhere}.serve-runner-jump{min-width:0;max-width:350px}.serve-runner-jump select{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:12px}.serve-runner-progress{max-width:1000px;margin:17px auto;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.serve-runner-progress>span{display:flex;align-items:center;gap:7px}.serve-runner-progress>strong{color:var(--ink);font-weight:500}.serve-runner-page{max-width:1000px;margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;min-height:calc(100dvh - 240px)}.serve-runner-page .chart-controls{position:sticky;top:0;z-index:3;background:var(--surface);padding:10px 0;border-bottom:1px solid var(--line)}.serve-runner-cue{min-height:calc(100dvh - 300px);display:flex;flex-direction:column;justify-content:center;max-width:760px;margin:auto;padding:20px 0}.serve-runner-cue>svg{color:var(--accent);margin-bottom:15px}.serve-runner-cue h1{font-size:clamp(25px,4vw,42px);line-height:1.25;overflow-wrap:anywhere}.serve-runner-cue>div{font-size:20px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:24px}.serve-runner-cue>p{font-size:13px;margin-top:18px}.serve-runner-song-cues{padding:14px;border:1px solid var(--line);border-radius:8px;margin-top:20px;background:var(--paper)}.serve-runner-song-cues summary{font-size:12px;cursor:pointer}.serve-runner-song-cues p{white-space:pre-wrap;font-size:13px;line-height:1.8;margin-top:10px}.serve-runner-nav{position:fixed;bottom:0;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px max(24px,calc((100vw - 1100px)/2)) calc(13px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.serve-runner-nav>div{flex:1;text-align:center;min-width:0}.serve-runner-nav small{display:block;font-size:9px;color:var(--muted);letter-spacing:.8px}.serve-runner-nav strong{display:block;font-size:12px;font-weight:500;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.serve-runner-nav .button{font-size:12px;padding:10px 14px}
@media(max-width:760px){.service-title-row .service-heading-actions{flex-wrap:wrap}.serve-runner{padding:0 12px 100px}.serve-runner-header{gap:7px;flex-wrap:wrap;padding-top:calc(12px + env(safe-area-inset-top))}.serve-runner-jump{flex-basis:100%;max-width:none}.serve-runner-jump select{font-size:16px}.serve-runner-page{padding:15px;min-height:calc(100dvh - 300px)}.serve-runner-cue{min-height:calc(100dvh - 360px);padding:15px 0}.serve-runner-cue>div{font-size:17px;line-height:1.7}.serve-runner-progress{margin:12px auto}.serve-runner-nav{padding:11px 12px calc(11px + env(safe-area-inset-bottom));gap:8px}.serve-runner-nav .button{padding:11px 8px;font-size:11px}.serve-runner-nav strong{font-size:10px}}
@media print{.serve-runner-header,.serve-runner-progress,.serve-runner-nav,.serve-runner-song-cues{display:none!important}.serve-runner{padding:0;background:#fff}.serve-runner-page{padding:0;border:0;min-height:0}}


.service-launch-action{margin-left:auto;flex:none;align-self:flex-start;padding-top:1px}.service-launch-action .service-serve-button{padding:10px 14px;font-size:12px}.chart-layout-edit{margin-bottom:15px;border:1px solid var(--line)}.chart-settings-hint{font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:15px}.chart-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.chart-settings-grid .field{min-width:0;font-size:11px;margin-bottom:13px}.chart-settings-form .checkbox-label{font-size:11px;margin-bottom:12px}.chart-template-preview{border:1px solid var(--line);border-radius:8px;background:var(--paper);overflow:auto;max-height:220px;margin:12px 0}.chart-template-preview section{padding:8px}.chart-template-preview section>strong{font-size:.8em}.chart-template-preview b{color:var(--accent)}.chart-view .chord-chart{column-fill:balance}.chart-view .chart-source-line{break-inside:avoid;margin-bottom:3px}.chart-view .chart-line-content{min-width:0}.chart-view .chord-line{font-family:inherit;flex-wrap:wrap;white-space:pre-wrap;min-height:0;padding:3px 0}.chart-view .chord-chunk{max-width:100%}.chart-view .chord-chunk>span{line-height:var(--chart-line-spacing,1.4);white-space:pre-wrap;overflow-wrap:break-word}.chart-view .chart-source-line h3{margin-top:var(--chart-section-spacing,16px);break-after:avoid}.chart-view .chart-source-line.section{break-after:avoid}.chart-view .chart-source-line pre{overflow:auto;max-width:100%}
@media(max-width:760px){.service-heading .service-heading-content{flex:1;min-width:0}.service-launch-action .service-serve-button{padding:9px 11px;font-size:11px}.chart-settings-grid{gap:0 10px}.chart-settings-form .form-footer{flex-wrap:wrap;gap:8px}.serve-runner-page .chart-view{padding:5px}.chart-view .chart-controls .chart-layout-edit{width:40px;height:40px}}


/* Keep a complete song section together through column and printed-page fragmentation.
   Browsers may split a section taller than a whole page rather than clip its content. */
.chart-song-section{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;column-break-inside:avoid}.chart-song-section>.chart-source-line:first-child h3{margin-top:0}.chart-song-section+.chart-song-section{margin-top:var(--chart-section-spacing,16px)}
@media print{.chart-song-section{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;column-break-inside:avoid}}

/* Planning Center migration */
.pco-connect{margin-top:18px}.pco-counts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0;font-size:12px;color:var(--muted)}.pco-counts strong{display:block;color:var(--ink);font-size:19px;margin-bottom:3px}.pco-notice{padding:14px 18px;border:1px solid var(--line);background:var(--surface);border-radius:10px;color:var(--ink);font-size:13px;line-height:1.6;margin-bottom:18px}.pco-filters{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:16px;margin:15px 0}.pco-preview-list{max-height:650px;overflow:auto}.pco-preview-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.pco-preview-row>div:first-child{min-width:0;flex:1}.pco-preview-row strong{overflow-wrap:anywhere;font-size:14px}.pco-preview-row small{display:block;color:var(--muted);margin:4px 0}.pco-preview-row p{font-size:11px;color:var(--muted);line-height:1.5;margin:4px 0}.pco-preview-row .row-actions{flex-wrap:wrap;justify-content:flex-end;max-width:48%}.pco-review details{border:1px solid var(--line);border-radius:8px;padding:15px;margin:14px 0}.pco-review summary{font-size:13px;font-weight:600;cursor:pointer;overflow-wrap:anywhere}.pco-review p{font-size:12px;line-height:1.7;color:var(--muted);margin:12px 0}.pco-review form{margin-top:15px}.pco-source{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;padding:12px;max-height:320px;overflow:auto;background:var(--paper)}.pco-review .source-editor{font-family:monospace;line-height:1.6}.pco-review .row-actions{flex-wrap:wrap;margin-top:14px}.panel progress{width:100%;height:8px;accent-color:var(--accent);margin:6px 0 18px}
@media(max-width:760px){.pco-filters{grid-template-columns:1fr;gap:0}.pco-preview-row{align-items:flex-start;flex-direction:column;gap:10px}.pco-preview-row .row-actions{max-width:100%;justify-content:flex-start}.pco-counts{gap:12px 18px}.pco-review .source-editor{font-size:16px}}

/* Search-first music workspace */
.music-workspace .page-header{margin-bottom:20px}
.music-section-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:22px}
.music-section-nav button{display:flex;align-items:center;gap:8px;padding:12px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:12px;font-weight:650;min-height:44px}
.music-section-nav button.active{color:var(--accent);border-bottom-color:var(--accent)}
.music-tools{position:relative}.music-tools>summary{list-style:none;cursor:pointer}.music-tools>summary::-webkit-details-marker{display:none}
.music-tools-menu{position:absolute;right:0;top:calc(100% + 8px);width:224px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:22}
.music-tools-menu>a,.music-tools-menu>button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:13px 12px;border:0;border-radius:7px;background:none;color:var(--ink);font-size:12px;min-height:44px}
.music-tools-menu>a:hover,.music-tools-menu>button:hover{background:var(--hover)}
.music-search-card{display:flex;gap:15px;align-items:center;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:20px;box-shadow:0 3px 15px #19365F05}
.music-search-input{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:var(--muted)}
.music-search-input input{height:44px;min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font-size:14px;outline-offset:2px}
.music-search-input input::-webkit-search-cancel-button{display:none}
.music-search-card>select{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:11px;font-size:12px;min-height:44px}
.music-result-count{white-space:nowrap;font-size:11px;color:var(--muted);min-width:52px;text-align:right}
.music-browser{display:grid;grid-template-columns:minmax(290px, .9fr) minmax(0,1.65fr);gap:22px;align-items:start}
.music-library-panel{margin:0}.music-library-heading{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}
.music-library-heading h2{font-size:13px}.music-library-heading>span{font-size:10px;color:var(--muted)}
.music-song-list{max-height:650px;overflow:auto;overscroll-behavior:contain}
.music-song-row{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);padding:17px 18px;background:var(--surface);color:var(--ink);min-height:86px}
.music-song-row:last-child{border-bottom:0}.music-song-row:hover{background:var(--hover)}.music-song-row.selected{background:var(--soft);box-shadow:inset 3px 0 var(--accent)}
.music-song-symbol{display:flex;width:34px;height:34px;align-items:center;justify-content:center;flex-shrink:0;background:var(--paper);border:1px solid var(--line);border-radius:9px;color:var(--accent)}
.music-song-copy{flex:1;min-width:0}.music-song-copy strong{display:block;font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.music-song-copy small{display:block;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.music-song-copy>span{display:block;font-size:10px;color:var(--muted);margin-top:6px}
.music-song-keys{display:flex;gap:4px;flex-wrap:wrap;max-width:80px;justify-content:flex-end}
.music-song-keys>span{padding:4px 6px;background:var(--paper);border:1px solid var(--line);color:var(--accent);font-size:10px;border-radius:5px}
.music-song-row>svg{color:var(--muted);flex-shrink:0}
.music-pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;gap:10px}
.music-pagination>div{display:flex;align-items:center;gap:9px}.music-pagination .icon-button{width:44px;height:44px}
.music-detail-panel{margin:0;min-height:360px}.music-detail-panel>.empty{padding-top:86px;padding-bottom:86px}
.music-detail-heading{display:flex;gap:12px;align-items:flex-start;padding:24px;border-bottom:1px solid var(--line)}
.music-detail-heading>div{flex:1;min-width:0}.music-detail-heading .eyebrow{margin-bottom:9px;font-size:9px;letter-spacing:1.3px}
.music-detail-heading h2{font-size:22px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.music-detail-heading p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:8px}
.music-arrangement-bar{display:flex;align-items:flex-end;gap:12px;padding:18px 24px;background:var(--hover);border-bottom:1px solid var(--line)}
.music-arrangement-bar .field{margin:0;flex:1;min-width:0}.music-arrangement-bar .button{min-height:42px}.music-back-library{display:none}
.music-detail-panel .chart-view{padding:22px 24px}.music-detail-panel .chart-controls{flex-wrap:wrap}.music-detail-panel .chart-heading h2{font-size:20px}
@media(max-width:1150px){.music-browser{grid-template-columns:minmax(250px,.85fr) minmax(0,1.2fr)}.music-song-row{padding:15px 14px;gap:9px}.music-song-keys{max-width:55px}.music-song-symbol{display:none}.music-detail-heading,.music-detail-panel .chart-view{padding:20px}.music-arrangement-bar{padding:16px 20px}}
@media(max-width:900px){.music-browser{grid-template-columns:1fr}.music-browser.has-selection .music-library-panel{display:none}.music-browser:not(.has-selection) .music-detail-panel{display:none}.music-back-library{display:inline-flex}.music-detail-heading{align-items:center}.music-detail-heading .eyebrow{display:none}.music-song-list{max-height:none}.music-song-symbol{display:flex}.music-song-keys{max-width:85px}.music-library-heading{padding:16px 18px}}
@media(max-width:760px){.music-search-card{flex-wrap:wrap;gap:8px;padding:12px 14px}.music-search-input{flex-basis:100%}.music-search-card>select{flex:1}.music-result-count{padding-right:3px}.music-section-nav{gap:22px;margin-bottom:18px}.music-tools-menu{width:210px}.music-song-row{padding:15px 16px}.music-arrangement-bar{flex-wrap:wrap}.music-detail-heading h2{font-size:20px}.music-detail-panel .chart-view{padding:18px 16px}.music-workspace .page-header .header-actions{gap:7px}}
@media print{.music-search-card,.music-section-nav,.music-library-panel,.music-detail-heading,.music-arrangement-bar,.music-tools{display:none!important}.music-browser{display:block}.music-detail-panel{border:0;overflow:visible}}

/* Compact music actions: no floating menus */
.music-glyph-actions,.music-song-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}
.music-action-button{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:0;cursor:pointer;flex-shrink:0}
.music-action-button:hover{background:var(--hover);color:var(--accent)}.music-action-button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.dark .music-action-button.primary{color:#14273D}.music-action-button.active{background:var(--soft);color:var(--accent);border-color:var(--accent)}
.music-arrangement-bar{flex-wrap:nowrap}.music-arrangement-bar .music-song-actions{flex-shrink:0}.music-arrangement-bar select{width:100%;text-overflow:ellipsis}
.music-detail-heading>.music-song-actions{margin-left:auto}
.plan-append-notice{font-size:12px;color:var(--accent);background:var(--soft);border-radius:9px;padding:12px 14px;line-height:1.6;margin:0 0 18px}
.plan-altar-add{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-top:1px solid var(--line);background:var(--soft)}.plan-altar-add strong{display:block;font-size:12px}.plan-altar-add small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px}.plan-altar-add .icon-button{width:44px;height:44px;border:1px solid var(--line);background:var(--surface);color:var(--accent)}
@media(max-width:760px){.music-workspace .header-actions{flex-wrap:nowrap}.music-glyph-actions{gap:8px}.music-arrangement-bar{flex-wrap:nowrap;padding:14px 16px;gap:10px}.music-detail-heading{gap:8px}.music-detail-heading .music-song-actions{gap:5px}.music-detail-heading h2{font-size:18px}.plan-altar-add{padding:16px}.music-workspace .page-header{margin-bottom:18px}}
@media print{.music-glyph-actions,.music-song-actions,.plan-altar-add{display:none!important}}
/* Chart-first music workspace */
.music-search-card{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:10px;padding:10px 12px}
.music-search-input{flex:1;min-width:0}
.music-search-input input{min-width:0;width:100%}
.music-search-card>select{width:150px;flex:0 0 150px;font-size:12px}
.music-result-count{font-size:11px;white-space:nowrap}
.music-detail-heading{padding:12px 14px;flex-wrap:nowrap}
.music-title-line{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0;overflow:hidden}
.music-title-line h2{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;min-width:0}
.music-title-line>span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}
.chart-controls-minimal{display:flex!important;flex-wrap:nowrap!important;gap:4px;padding:8px 12px;overflow-x:auto;align-items:center}
.chart-controls-minimal select{width:68px;min-width:68px;height:44px;padding:6px;font-size:12px}
.chart-controls-minimal select[aria-label="Arrangement"]{width:110px;min-width:90px;text-overflow:ellipsis}
.chart-controls-minimal .icon-button,.chart-controls-minimal .music-action-button{width:44px;height:44px;min-width:44px;flex-shrink:0;border-radius:8px}
.chart-controls-minimal .music-song-actions{gap:4px}
.chart-compact .chord-chart{padding-top:12px!important}
.music-workspace:has(.music-browser.has-selection)>.page-header{display:none}
@media(max-width:760px){
 .music-search-card{gap:6px;padding:8px;margin-bottom:12px}
 .music-search-card>select{width:112px;flex-basis:112px;font-size:11px;padding:6px}
 .music-search-card .music-result-count{display:none}
 .music-search-input input{font-size:13px}
 .music-title-line{gap:6px}
 .music-title-line h2{font-size:15px}
 .music-title-line>span{max-width:32%;font-size:10px}
 .music-detail-heading .music-action-button{width:44px;height:44px;min-width:44px}
 .chart-controls-minimal{padding:6px;gap:2px}
 .chart-controls-minimal .music-song-actions{gap:2px}
 .chart-compact .chord-chart{padding-left:12px!important;padding-right:12px!important}
}
@media print{.chart-controls-minimal{display:none!important}}

/* Polished, viewport-safe chart dropdown groups */
.music-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;min-width:44px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;flex-shrink:0}
.music-menu-trigger:hover,.music-menu-trigger[data-state=open]{background:var(--soft);color:var(--accent)}
.music-menu-trigger.icon-only{padding:0;width:44px}
.music-menu-trigger.icon-only span,.music-menu-trigger.icon-only>svg:last-child{display:none}
.music-menu-content{z-index:100;width:230px;max-width:calc(100vw - 24px);max-height:var(--radix-dropdown-menu-content-available-height);overflow-y:auto;padding:5px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px #0003}
.music-menu-item{display:flex;align-items:center;gap:11px;min-height:44px;padding:10px 12px;border-radius:8px;outline:none;font-size:12px;cursor:pointer}
.music-menu-item[data-highlighted]{background:var(--soft);color:var(--accent)}
.music-menu-item[data-disabled]{opacity:.45;pointer-events:none}
.music-menu-item svg{flex-shrink:0;color:var(--accent)}
.music-workspace .music-search-card{padding:6px 10px;border-radius:12px}
.music-workspace .music-search-input{flex-basis:0;gap:8px}
.music-workspace .music-search-card>select{flex:0 0 105px;width:105px}
.music-workspace select,.chart-controls-minimal select{appearance:none;-webkit-appearance:none;background-color:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:9px;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23889aaa' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:25px!important}
.music-workspace .music-detail-heading{padding:10px 12px;gap:8px}
.music-title-line{align-items:center}
.music-title-line h2{flex:1;font-size:16px;font-weight:650;line-height:1.3}
.music-title-line>span{font-size:11px;max-width:30%}
.music-detail-panel .chart-view.chart-compact{padding:0}
.chart-view.chart-compact .chart-controls-minimal{gap:6px;padding:8px 12px;margin:0;border-bottom:1px solid var(--line);overflow:visible!important}
.chart-controls-minimal select[aria-label="Arrangement"]{flex:1;min-width:72px;width:120px;max-width:240px}
.chart-controls-minimal select[aria-label="Display key"]{width:60px;min-width:60px}
.chart-compact .chord-chart{padding:18px 16px!important}
.chart-compact .chart-source-line.comment p{margin:5px 0}
.chart-compact .chart-source-line{min-height:0}
.chart-compact .chart-copyright,.chart-compact .practice-links,.chart-compact .chart-orphans{margin-left:16px;margin-right:16px}
@media(max-width:400px){
 .chart-controls-minimal .music-menu-trigger{width:44px;padding:0}
 .chart-controls-minimal .music-menu-trigger span,.chart-controls-minimal .music-menu-trigger>svg:last-child{display:none}
 .chart-view.chart-compact .chart-controls-minimal{gap:5px;padding:8px 10px}
 .music-title-line{gap:6px}
 .music-title-line h2{font-size:14px}
 .music-title-line>span{font-size:10px}
}
@media print{.music-menu-content,.music-menu-trigger{display:none!important}}

/* Song title and writer on separate compact lines */
.music-workspace .music-detail-heading{align-items:flex-start}
.music-workspace .music-title-line{display:block;overflow:hidden}
.music-workspace .music-title-line h2{display:block;line-height:44px;height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-workspace .music-title-line>span{display:block;max-width:100%;width:100%;font-size:11px;line-height:1.5;padding-bottom:2px}
.music-workspace .music-back-library{width:44px;height:44px}
@media(max-width:760px){
 .mobile-nav{padding-left:6px;padding-right:6px}
 .mobile-nav a{flex:1;min-width:0;min-height:44px;padding:5px 2px;font-size:9px}
 .mobile-nav a span{white-space:nowrap}
}


.invite-delivery-status{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}.church-invitation-list{display:grid;gap:14px}.church-invitation-list section{padding:16px;border:1px solid var(--line);border-radius:10px}.church-invitation-list h2{font-size:17px}.church-invitation-list p{font-size:12px;color:var(--muted);margin:8px 0 14px}

/* My schedule: full-width information and compact response actions */
.schedule-page .page-header{align-items:flex-start;margin-bottom:20px}
.schedule-page .toolbar{margin-bottom:16px}
.schedule-page .checkbox-label{min-height:44px;gap:9px}
.schedule-page .checkbox-label input{width:17px;height:17px;accent-color:var(--accent)}
.schedule-page .panel-header{padding:18px 20px}
.schedule-page .panel-header h2{font-size:15px}
.schedule-page .panel-header p{max-width:42ch}
.schedule-page .my-assignments{padding:0 20px}
.schedule-page .my-assignments>.schedule-assignment{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 0}
.schedule-copy{min-width:0}
.schedule-ministry{display:block;color:var(--accent);font-size:10px;font-weight:650;line-height:1.5}
.schedule-page .schedule-copy h3{font-size:16px;line-height:1.4;margin:5px 0 0;overflow-wrap:break-word}
.schedule-page .schedule-copy p{font-size:11px;line-height:1.6;margin:5px 0 0;color:var(--muted)}
.schedule-response{display:flex;align-items:center;gap:12px}
.schedule-response .row-actions{gap:6px}
.schedule-page .icon-button{width:44px;height:44px;min-width:44px;border:1px solid var(--line);background:var(--surface);border-radius:9px}
.schedule-page .schedule-accept,.schedule-page .schedule-add{color:var(--accent);background:var(--soft)}
.schedule-page .schedule-response .badge{white-space:nowrap;font-size:10px}
@media(max-width:600px){
 .schedule-page .my-assignments>.schedule-assignment{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 0}
 .schedule-response{justify-content:space-between;width:100%;gap:10px}
 .schedule-page .panel-header{padding:16px}
 .schedule-page .my-assignments{padding:0 16px}
 .schedule-page .page-header{gap:8px}
}


/* Compact directory actions and mobile person cards */
.people-page .page-header{align-items:flex-start;gap:16px;margin-bottom:20px}
.people-page .page-header h1{font-size:27px}
.people-page .page-header p{font-size:12px;margin-top:7px}
.people-page .header-actions{flex-wrap:nowrap;gap:7px}
.people-page .directory-action,.people-page .row-actions .icon-button,.people-page .household-card .icon-button{width:44px;height:44px;min-width:44px;border:1px solid var(--line);background:var(--surface);border-radius:9px}
.people-page .directory-action.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.people-page .directory-toolbar{display:grid;grid-template-columns:auto minmax(140px,1fr) auto;gap:10px;align-items:center;margin-bottom:16px}
.people-page .directory-toolbar .search{min-width:0;max-width:none;width:100%;margin:0}
.people-page .directory-status{height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:12px;padding:0 10px;width:105px}
.people-page .household-card{min-width:0}
.people-page .household-card strong,.people-page .household-card p{overflow-wrap:anywhere}
@media(max-width:760px){
 .people-page .page-header{gap:12px;align-items:flex-start}
 .people-page .directory-toolbar{grid-template-columns:minmax(0,1fr) 105px}
 .people-page .directory-toolbar .segmented{grid-column:1/-1}
 .people-page .directory-toolbar .search{flex-basis:auto}
 .people-page .directory-toolbar .search input{height:44px;font-size:13px}
 .people-page .directory-table{overflow:visible}
 .people-page .directory-table table,.people-page .directory-table tbody{display:block;width:100%;white-space:normal}
 .people-page .directory-table thead{display:none}
 .people-page .directory-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:16px;border-bottom:1px solid var(--line)}
 .people-page .directory-table tr:last-child{border-bottom:0}
 .people-page .directory-table td{display:block;padding:0;border:0;min-width:0;overflow-wrap:anywhere}
 .people-page .directory-table td:nth-child(1){grid-column:1;grid-row:1}
 .people-page .directory-table td:nth-child(2){grid-column:1;grid-row:2;font-size:10px;color:var(--muted);padding-left:47px}
 .people-page .directory-table td:nth-child(3){grid-column:1/-1;grid-row:3;font-size:12px;margin-top:4px}
 .people-page .directory-table td:nth-child(4){grid-column:2;grid-row:1/3;align-self:start}
 .people-page .directory-table .contact-cell{line-height:1.6;overflow-wrap:anywhere}
 .people-page .directory-table .contact-cell small{font-size:11px;margin-top:2px}
 .people-page .person-cell{gap:12px;align-items:center}
 .people-page .person-cell>div{min-width:0}
 .people-page .person-cell strong{font-size:13px;line-height:1.5}
 .people-page .person-cell small{font-size:9px}
 .people-page .directory-table .row-actions{gap:4px}
 .people-page .household-grid{padding:12px;gap:10px}
 .people-page .household-card{padding:14px;gap:10px}
}


/* Compact availability dialog and constrained native date fields */
.modal.availability-modal{width:420px;max-width:calc(100vw - 32px);padding:20px;overflow-x:hidden}
.availability-modal .modal-header{gap:12px;margin-bottom:8px;align-items:center}
.availability-modal .modal-header h2{font-size:19px;line-height:1.3;min-width:0}
.availability-modal .modal-header .icon-button{width:44px;height:44px;background:transparent;border:0;flex:none}
.availability-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 18px}
.availability-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.availability-date-grid .field{min-width:0;margin:0;font-size:11px;gap:7px}
.availability-date-control{position:relative;min-width:0;width:100%}
.availability-modal input[type=date]{display:block;box-sizing:border-box;appearance:none;-webkit-appearance:none;width:100%;min-width:0;max-width:100%;min-inline-size:0;height:46px;padding:10px;font-size:14px;line-height:24px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:9px}
.availability-modal input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}
.availability-modal input[type=date]::-webkit-datetime-edit{padding:0}
.availability-date-control>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted);background:var(--paper);pointer-events:none}
.availability-modal .form-footer{margin-top:20px;padding-top:16px;gap:8px}
.availability-modal .form-footer .button{min-height:44px;font-size:12px}
@media(max-width:360px){.availability-date-grid{grid-template-columns:minmax(0,1fr);gap:12px}}


.app-connections{padding:0 20px 20px}.app-connection-row{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.app-connection-row>div{flex:1;min-width:0}.app-connection-row strong{font-size:13px}.app-connection-row small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.app-connections form{margin-top:20px}.integration-error{font-size:12px;line-height:1.6;color:#b15b33;margin-top:12px}.service-integrations{margin-top:24px}.integration-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.integration-heading h2{font-size:15px}.integration-heading p{font-size:11px;color:var(--muted);margin-top:5px}.integration-heading select{max-width:140px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px;font-size:12px}.integration-body{padding:20px}.integration-courses{display:grid;gap:6px;margin:12px 0}.integration-courses .checkbox-label{min-height:36px}.integration-inline-form{display:flex;align-items:flex-end;gap:10px}.integration-inline-form>.field{flex:1;min-width:0;margin:0}.integration-resources{display:grid;gap:12px;margin-top:18px}.integration-resource{border:1px solid var(--line);border-radius:9px;padding:14px}.integration-resource-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.integration-resource-heading>a{display:flex;gap:7px;align-items:center;font-size:13px;overflow-wrap:anywhere}.integration-resource .muted{font-size:11px;margin-top:6px}.integration-readiness{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.5;padding:10px 0;border-bottom:1px solid var(--line)}.integration-readiness strong{color:var(--accent);font-weight:600;text-align:right}.service-integrations .icon-button,.app-connections .icon-button{width:44px;height:44px;min-width:44px}
@media(max-width:600px){.integration-heading,.integration-body{padding:16px}.integration-heading{align-items:flex-start}.integration-heading p{max-width:22ch}}


/* Preparation stays above decorative service artwork. */
.service-studio>.prep-panel{position:relative;z-index:1}
.prep-panel{margin-top:0}
.prep-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line);background:var(--surface)}
.prep-tabs button{display:flex;flex:1;gap:9px;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:600}
.prep-tabs button[aria-pressed=true]{background:var(--soft);color:var(--accent)}
.prep-dot{width:5px;height:5px;border-radius:50%;background:var(--line);flex:none}
.prep-dot.connected{background:var(--accent)}
.prep-content{padding:22px}
.prep-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.prep-heading h2{font-size:17px}
.prep-heading p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px;max-width:65ch}
.prep-source{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap;padding-top:3px}
.prep-source svg{color:var(--accent)}
.prep-form{display:grid;gap:12px}
.prep-action-row{display:flex;align-items:flex-end;gap:10px}
.prep-action-row>.field{flex:1;margin:0}
.prep-action-row>.button{min-height:44px;flex:none}
.prep-picker{display:flex;align-items:center;gap:10px;min-width:0;flex:1;min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:12px;text-align:left}
.prep-picker span{flex:1}
.prep-course-options{min-width:0;margin:0;padding:6px 12px;border:1px solid var(--line);border-radius:9px;max-height:280px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.prep-course-options label{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 2px;font-size:12px;color:var(--ink);cursor:pointer}
.prep-course-options input{width:17px;height:17px;accent-color:var(--accent);flex:none}
.prep-selection,.prep-helper{font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.prep-task-fields{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.prep-task-fields .field{margin:0}
.prep-options{border:1px solid var(--line);border-radius:9px}
.prep-options summary{display:flex;align-items:center;justify-content:space-between;padding:12px;font-size:12px;color:var(--muted);min-height:44px;cursor:pointer;list-style:none}
.prep-options summary::-webkit-details-marker{display:none}
.prep-options[open] summary svg{transform:rotate(180deg)}
.prep-options>div{display:grid;gap:14px;padding:0 12px 12px}
.prep-options .field{margin-bottom:0}
.prep-submit{display:flex;align-items:center;justify-content:space-between;gap:16px}
.prep-submit>.button{flex:none;min-height:44px}
.prep-notice{font-size:12px;line-height:1.7;color:var(--muted);padding:14px 0}
.prep-error{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-left:3px solid #c46a51;border-radius:8px;margin-bottom:16px;font-size:12px;line-height:1.6}
.prep-results{margin-top:24px}
.prep-results-heading{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.prep-results-heading h3{font-size:12px;font-weight:650}
.prep-results-heading>span{font-size:10px;color:var(--muted)}
.prep-resource{padding:14px 0;border-bottom:1px solid var(--line)}
.prep-resource:last-child{border-bottom:0;padding-bottom:0}
.prep-resource-heading{display:flex;gap:10px;align-items:center;justify-content:space-between}
.prep-resource-heading>a{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0;overflow-wrap:anywhere}
.prep-resource-heading>a svg{flex:none;color:var(--muted)}
.prep-resource .icon-button,.prep-error .icon-button{min-width:44px;width:44px;height:44px}
.prep-resource-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:11px}
.prep-check-summary{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:4px 0 8px;font-size:11px;color:var(--muted)}
.prep-check-summary strong{color:var(--ink);font-size:12px}
.prep-person{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid var(--line);font-size:12px}
.prep-person>span:first-child{min-width:0;overflow-wrap:anywhere}
.prep-footnote{margin-top:10px}
@media(max-width:600px){
 .prep-content{padding:16px}
 .prep-tabs button{padding:10px 8px;gap:7px;font-size:12px}
 .prep-heading{gap:10px;flex-wrap:wrap;margin-bottom:16px}
 .prep-heading h2{font-size:16px}
 .prep-heading p{font-size:11px}
 .prep-course-options{grid-template-columns:1fr}
 .prep-task-fields{grid-template-columns:1fr}
 .prep-submit{flex-direction:column;align-items:stretch;gap:10px}
 .prep-action-row{gap:8px}
 .prep-action-row>.button{padding:10px;font-size:11px}
 .prep-picker{font-size:11px;padding:10px;gap:7px}
 .prep-picker>svg:first-child{display:none}
 .prep-source{padding:0}
}

.message-picker{margin:16px 0}.message-picker .field{margin-bottom:8px}.message-import-summary{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px;margin-bottom:16px;font-size:12px}.message-import-summary small{color:var(--muted);line-height:1.6}.message-import-summary>.button{justify-self:start}.plan-message-thumb{width:48px;height:32px;object-fit:cover;border-radius:5px;flex:none}.plan-message-scripture{font-size:11px;line-height:1.6;color:var(--muted);padding:0 16px 10px 110px;overflow-wrap:anywhere}.serve-runner-cue .serve-message-artwork{width:100%;max-width:720px;max-height:38dvh;object-fit:contain;border-radius:10px}.serve-message-scripture{font-size:clamp(17px,2.2vw,26px);line-height:1.6;color:var(--muted);white-space:pre-wrap}.serve-runner-cue>.button{margin:14px 0}.prep-resource>.button{margin-top:10px}@media(max-width:600px){.plan-message-thumb{width:35px;height:26px}.plan-message-scripture{padding-left:55px}.serve-runner-cue .serve-message-artwork{max-height:28dvh}}

/* Stable event frame with one shared bottom control row. */
.overview-event-banner{height:340px;min-height:340px;container-type:inline-size}
.overview-event-banner .event-banner-content{height:calc(100% - 76px);max-width:none;padding:24px 30px 0;overflow:auto;scrollbar-width:thin}
.event-banner-content h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.event-banner-meta{max-height:42px;overflow:hidden}
.event-banner-footer{position:absolute;z-index:3;left:24px;right:24px;bottom:16px;height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:0}
.event-banner-footer-start{display:flex;align-items:center;gap:8px;min-width:0}
.event-banner-footer .event-banner-link{flex:none;white-space:nowrap;height:40px}
.event-banner-indicators{grid-column:2;display:flex;justify-content:center;align-items:center;gap:2px}
.event-banner-dot{display:flex;align-items:center;justify-content:center;min-width:26px;height:40px;padding:0 6px;border:0;background:transparent;color:var(--event-ink);cursor:pointer}
.event-banner-dot-track{position:relative;display:block;width:7px;height:7px;border-radius:999px;background:var(--event-ink);opacity:.45;overflow:hidden}
.event-banner-dot.active .event-banner-dot-track{width:38px;opacity:1;background:rgba(var(--event-shade),.6);border:1px solid var(--event-detail)}
.event-banner-dot-fill{position:absolute;inset:0;border-radius:inherit;background:var(--event-ink);transform-origin:left;will-change:transform}
.event-banner-dot:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:8px}
.event-banner-footer .event-banner-navigation{grid-column:3;justify-self:end;display:flex;align-items:center;gap:5px}
.event-banner-navigation .event-banner-playback{width:30px;height:30px}
@media(max-width:760px){
 .overview-event-banner{height:360px;min-height:360px}
 .overview-event-banner .event-banner-content{padding:22px 20px 0}
 .event-banner-footer{left:16px;right:16px;gap:6px}
 .event-banner-footer .event-banner-link{width:40px;padding:0}
 .event-banner-link>span{display:none}
 .event-banner-dot{min-width:22px;padding:0 4px}
 .event-banner-dot.active .event-banner-dot-track{width:30px}
 .event-banner-footer .event-banner-navigation{gap:3px}
 .event-banner-navigation .icon-button{width:28px;height:40px}
}
@media(max-width:380px){
 .event-banner-footer{left:12px;right:12px;grid-template-columns:40px minmax(0,1fr) 84px;gap:2px}
 .event-banner-dot{min-width:18px;padding:0 3px}
 .event-banner-dot.active .event-banner-dot-track{width:26px}
 .event-banner-footer .event-banner-navigation{gap:0}
}

@container(max-width:550px){
 .event-banner-footer .event-banner-link{width:40px;padding:0}
 .event-banner-link>span{display:none}
 .event-banner-footer{left:16px;right:16px;gap:6px}
}
@container(max-width:380px){
 .event-banner-footer{left:12px;right:12px;grid-template-columns:40px minmax(0,1fr) 84px;gap:2px}
 .event-banner-dot{min-width:18px;padding:0 3px}
 .event-banner-dot.active .event-banner-dot-track{width:26px}
 .event-banner-footer .event-banner-navigation{gap:0}
 .event-banner-navigation .icon-button{width:28px;height:40px}
}

/* Church profile */
.church-logo{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex:none;width:120px;height:86px}
.church-logo img{display:block;width:100%;height:100%;object-fit:contain}
.church-logo[data-logo-fallback="true"]{padding:6px;border-radius:6px}
.church-logo[data-logo-fallback="true"][data-logo-mode="light"]{background:#F3F7FB}
.church-logo[data-logo-fallback="true"][data-logo-mode="dark"]{background:#102237}
.sidebar .church-switch{padding:10px;background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:10px}
.church-switch-profile{display:flex;align-items:center;gap:9px;margin:0;min-width:0;width:100%;min-height:44px;border-radius:6px}
.church-switch-profile:hover{background:var(--hover)}
.church-switch-profile .church-logo{width:56px;height:40px;color:var(--accent)}
.church-switch-profile .church-logo:has(svg){width:36px;height:36px}
.church-switch-identity{flex:1;min-width:0}
.church-switch .church-switch-identity strong{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.church-switch .church-switch-identity small{font-size:10px;line-height:1.3;color:var(--muted);margin-top:3px}
.church-switch-profile>svg{flex:none;color:var(--muted)}
.sidebar .church-switch .church-select{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
.sidebar .church-switch .church-select>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sidebar .church-switch .church-select select{background:var(--paper);color:var(--ink);border-color:var(--line);padding:8px;font-size:11px;min-height:36px}
.church-profile-hero{padding:26px;display:flex;gap:24px;align-items:center}
.church-profile-hero h2{font-size:27px;line-height:1.2;overflow-wrap:anywhere}
.church-profile-hero p{font-size:13px;color:var(--muted);margin-top:8px}
.church-profile-caption{display:block;font-size:10px;color:var(--muted);margin-top:12px}
.church-profile-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
.church-profile-columns>div{min-width:0}
.church-profile-body{padding:4px 25px 24px}
.church-text-section+ .church-text-section{margin-top:22px}
.church-text-section h3{font-size:11px;color:var(--accent);font-weight:650;margin-bottom:7px}
.church-text-section p,.church-contact-list p{font-size:13px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.church-contact-list{display:grid;gap:17px}
.church-contact-list>div{display:flex;align-items:flex-start;gap:12px;min-width:0}
.church-contact-list svg{flex:none;margin-top:3px;color:var(--accent)}
.church-contact-list a{font-size:12px;line-height:1.7;color:var(--accent);overflow-wrap:anywhere}
.church-contact-list p+a{display:inline-block;margin-top:5px}
.church-leadership,.church-leadership-editor{list-style:none;margin:0;padding:0}
.church-leadership li{position:relative;display:flex;gap:15px;padding:0 0 26px}
.church-leadership li:not(:last-child):before{content:"";position:absolute;left:15px;top:35px;bottom:5px;width:1px;background:var(--line)}
.church-leadership li:last-child{padding-bottom:0}
.church-level-number{display:flex;align-items:center;justify-content:center;flex:none;width:31px;height:31px;border-radius:50%;background:var(--soft);color:var(--accent);border:1px solid var(--line);font-size:11px}
.church-leadership h3{font-size:14px;margin:3px 0 7px;overflow-wrap:anywhere}
.church-leadership p{font-size:12px;line-height:1.7;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}
.church-leadership .church-leader-names{color:var(--ink);font-weight:550;margin-bottom:6px}
.church-profile-editor fieldset{min-width:0;border:0;padding:0;margin:0}
.church-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.church-form-grid .field{min-width:0}
.church-form-grid .field:has(textarea){grid-column:1/-1}
.church-logo-uploads{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:6px 0 26px}
.church-logo-upload{border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}
.church-logo-preview{height:120px;display:flex;align-items:center;justify-content:center;padding:18px}
.church-logo-preview.light{background:#F3F7FB;color:#19365F}
.church-logo-preview.dark{background:#102237;color:#E2EFF8}
.church-logo-preview .church-logo{color:inherit;width:100%;height:100%}
.church-logo-upload>div+div{padding:14px}
.church-logo-upload strong{font-size:12px}
.church-logo-upload p,.church-logo-upload small{font-size:10px;line-height:1.6;color:var(--muted);margin:5px 0 7px}
.church-logo-upload .icon-button{border:1px solid var(--line);margin-right:6px}
.church-profile-hint{font-size:11px;color:var(--muted);line-height:1.7;margin-bottom:18px}
.church-leadership-editor li{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px;background:var(--paper)}
.church-leadership-editor header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.church-leadership-editor header strong{font-size:12px;flex:1}
.church-leadership-editor .field:last-child{margin-bottom:0}
.church-editor-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 0 20px}
.church-settings-summary{display:flex;align-items:center;gap:16px;padding:0 25px 15px}
.church-settings-summary .church-logo{width:70px;height:55px}
.church-settings-summary strong{font-size:13px}
.church-settings-summary p{font-size:11px;color:var(--muted);margin-top:5px}
.church-settings-link{padding:0 25px 22px}
.church-settings-link p{font-size:10px;margin-top:9px}
@media(max-width:760px){
 .church-profile-columns{grid-template-columns:1fr;gap:0}
 .church-profile-hero{padding:20px;gap:17px;align-items:flex-start}
 .church-profile-hero>.church-logo{width:85px;height:65px}
 .church-profile-hero h2{font-size:22px}
 .church-profile-body{padding:2px 18px 20px}
 .church-form-grid{grid-template-columns:1fr}
 .church-profile-editor .page-header{gap:12px;align-items:flex-start}
 .church-profile-editor .page-header h1{font-size:25px}
 .church-profile-editor .header-actions{flex-wrap:nowrap;gap:5px}
 .church-profile-editor .header-actions .button{font-size:11px;padding:9px}
 .church-leadership-editor li{padding:12px}
 .church-leadership-editor header{gap:7px}
 .church-leadership-editor header strong{font-size:11px}
 .church-leadership-editor .row-actions{gap:0}
}
@media(max-width:400px){.church-logo-uploads{grid-template-columns:1fr}.church-profile-hero{flex-direction:column}}

.sidebar .brand,.sidebar .church-switch{flex-shrink:0}
.sidebar>nav{min-height:0;overflow-y:auto;scrollbar-width:thin}
.sidebar .church-switch{margin-top:16px;margin-bottom:12px}
.sidebar .sidebar-bottom{padding-top:20px;flex-shrink:0}

/* Account-aware church navigation, including mobile. */
.church-select{display:block;margin-top:12px;min-width:0}
.church-select>span{font-size:10px;display:block;margin-bottom:6px}
.church-select select{display:block;width:100%;min-width:0;font-size:11px;padding:10px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.sidebar .church-select>span{color:#BED0E2}
.sidebar .church-select select{color:#fff;background:#203F69;border-color:#3D5A7C}
.church-picker-list{display:grid;gap:12px;margin:22px 0}
.church-picker-list>button{display:flex;align-items:center;gap:15px;text-align:left;padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink)}
.church-picker-list>button:hover{border-color:var(--accent)}
.church-picker-list strong{display:block;font-size:15px}
.church-picker-list small{display:block;font-size:11px;color:var(--muted);margin-top:7px}
.mobile-workspace-account{padding:12px;border-bottom:1px solid var(--line)}
.mobile-workspace-account>strong{display:block;font-size:13px;overflow-wrap:anywhere}
.mobile-workspace-account>small{display:block;font-size:11px;margin-top:5px;color:var(--muted);overflow-wrap:anywhere}
.mobile-workspace-account .church-select select{font-size:16px;max-width:100%}
.mobile-menu nav:has(.mobile-workspace-account){min-width:min(310px,calc(100vw - 36px));max-height:calc(100dvh - 150px);overflow:auto}
.workspace-invitations{padding:15px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin-bottom:22px}
.workspace-invitations summary{font-size:12px;cursor:pointer;color:var(--accent)}
.workspace-invitations>p{font-size:11px;color:var(--muted);margin:12px 0}
.workspace-invitations>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.workspace-invitations strong{font-size:12px}
.workspace-invitations small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}

.import-original{grid-column:1/-1;min-width:0;margin:12px 0}.import-original summary{cursor:pointer;font-weight:600}.import-original dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:8px;font-size:13px}.import-original dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.import-preview small{display:block;overflow-wrap:anywhere;grid-column:1/-1;color:var(--muted)}

.duplicate-modal{width:min(960px,calc(100vw - 24px))}.duplicate-card{border:1px solid var(--line);border-radius:12px;padding:18px;margin:16px 0;overflow-wrap:anywhere}.duplicate-card .row-actions{flex-wrap:wrap;margin-top:12px}.duplicate-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:18px}.duplicate-modal td,.duplicate-modal th{white-space:normal;overflow-wrap:anywhere}.duplicate-modal select{max-width:100%}@media(max-width:600px){.duplicate-banner{align-items:flex-start;flex-direction:column}.duplicate-card .row-actions .button{width:100%}}

/* People and volunteer controls share the existing compact workspace language. */
.people-page .directory-toolbar{grid-template-columns:auto minmax(140px,1fr) 44px}
.people-page .directory-action{position:relative}
.directory-action-count{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;border:2px solid var(--surface);border-radius:10px;background:var(--accent);color:var(--surface);font-size:8px;line-height:11px;text-align:center;padding:0 3px}
.people-page .directory-action.active{background:var(--soft);color:var(--accent);border-color:var(--accent)}
.directory-filter-menu{position:relative;z-index:20}
.directory-filter-menu>summary{list-style:none;cursor:pointer}
.directory-filter-menu>summary::-webkit-details-marker{display:none}
.directory-filter-panel{position:absolute;right:0;top:52px;width:230px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.directory-filter-panel .field{margin-bottom:14px}
.directory-filter-panel .field:last-child{margin-bottom:0}
.directory-review-note{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin:-3px 0 16px}
.quiet-action{border:0;background:transparent;color:var(--accent);font-size:11px;font-weight:600;padding:7px 0;min-height:32px}
.volunteer-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 8px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:12px}
.volunteer-selection strong{font-size:12px;font-weight:600;color:var(--muted)}
.selection-actions{display:flex;align-items:center;gap:5px}
.selection-actions .icon-button,.teams-page .team-add-action{width:40px;height:40px;border:1px solid var(--line);background:var(--surface);border-radius:9px}
.selection-actions .selection-primary{background:var(--soft);color:var(--accent)}
.selection-divider{width:1px;height:20px;background:var(--line);margin:0 3px}
.directory-table .directory-serve-column{width:46px;padding-left:5px;padding-right:5px;text-align:center}
.service-state{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--muted);opacity:.45}
.service-state.approved{color:var(--accent);opacity:1}
.directory-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);vertical-align:middle}
.directory-table th:first-child:has(input),.directory-table td:first-child:has(>input){width:42px;padding-left:18px;padding-right:0}
.people-modal,.eligibility-modal{width:560px;max-width:calc(100vw - 28px);padding:24px}
.people-modal .modal-header,.eligibility-modal .modal-header{margin-bottom:16px}
.people-modal .modal-header h2,.eligibility-modal .modal-header h2{font-size:19px;letter-spacing:-.5px}
.people-modal .form-intro,.eligibility-modal .form-intro{font-size:12px;line-height:1.65;margin-bottom:16px}
.people-modal .form-footer,.eligibility-modal .form-footer{margin-top:18px;padding-top:16px}
.people-modal .form-footer .button,.eligibility-modal .form-footer .button{min-height:38px;padding:9px 14px}
.profile-detail-group{grid-column:1/-1;border-top:1px solid var(--line);margin:0 0 18px}
.profile-detail-group>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;min-height:44px;color:var(--muted);font-size:12px;font-weight:600}
.profile-detail-group>summary::-webkit-details-marker{display:none}
.profile-detail-group>summary svg,.eligibility-team>summary svg{transition:transform .15s}
.profile-detail-group[open]>summary svg,.eligibility-team[open]>summary svg{transform:rotate(180deg)}
.profile-detail-group .form-grid{padding-top:10px}
.modal-person-name{font-size:12px;color:var(--muted);margin:-7px 0 20px}
.volunteer-approval{display:flex;align-items:center;gap:12px;padding:0 0 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:16px;font-size:13px}
.volunteer-approval strong{font-weight:600}
.approval-switch{appearance:none;-webkit-appearance:none;width:34px;height:20px;flex:0 0 34px;border:1px solid var(--line);border-radius:20px;background:var(--hover);position:relative;cursor:pointer;transition:background .15s}
.approval-switch:before{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:transform .15s}
.approval-switch:checked{background:var(--accent);border-color:var(--accent)}
.approval-switch:checked:before{background:var(--surface);transform:translateX(14px)}
.eligibility-teams{display:block;margin:14px 0 0}
.eligibility-team{border:0;border-bottom:1px solid var(--line)}
.eligibility-team>summary{display:flex;align-items:center;gap:12px;min-height:46px;list-style:none;cursor:pointer;font-size:12px;font-weight:600}
.eligibility-team>summary::-webkit-details-marker{display:none}
.eligibility-team>summary svg{color:var(--muted);flex-shrink:0}
.eligibility-team-count{margin-left:auto;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;font-weight:400}
.eligibility-position-list{padding:0 0 12px 2px;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.eligibility-position-list .checkbox-label,.qualified-positions .checkbox-label{margin:0;min-height:38px;gap:10px;font-size:12px;color:var(--ink)}
.eligibility-position-list input,.qualified-positions input{width:16px;height:16px;accent-color:var(--accent)}
.eligibility-footnote{font-size:11px;color:var(--muted);line-height:1.6;margin-top:14px}
.qualified-positions{border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0 0;margin:0}
.qualified-positions legend{font-size:11px;color:var(--muted);font-weight:600;padding-right:10px}
.volunteer-invite-list{max-height:48vh;overflow:auto;margin:8px 0}
.volunteer-invite-list>div{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}
.volunteer-invite-list>div:last-child{border-bottom:0}
.invitation-person{flex:1;min-width:0}
.volunteer-invite-list strong{font-size:12px;font-weight:600}
.volunteer-invite-list small,.volunteer-position-summary{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
.volunteer-invite-list .badge{font-size:9px;background:transparent;padding:0;flex-shrink:0}
.volunteer-invite-list .badge.green{color:var(--accent)}
.volunteer-invite-list small[role=alert]{color:var(--ink);margin-top:7px}
.teams-page .page-header h1{font-size:27px}
.teams-page .page-header p{font-size:12px;margin-top:7px}
.teams-page .team-card{padding:20px}
.teams-page .team-card h2{font-size:16px}
.teams-page .team-card-top{margin-bottom:14px}
.teams-page .team-card-top .row-actions{margin-left:auto}
.teams-page .team-members{margin-bottom:0}
.teams-page .team-members>div{padding:10px 0;border-bottom:1px solid var(--line)}
.teams-page .team-members>div:last-child{border-bottom:0}
.teams-page .team-members .icon-button{width:32px;height:36px}
.people-page select,.people-modal select,.eligibility-modal select,.duplicate-modal select{appearance:none;-webkit-appearance:none;background-color:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:9px;font:inherit;font-size:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23889aaa' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding:10px 30px 10px 12px;min-height:40px}
.duplicate-modal{font-size:12px;line-height:1.65}
.duplicate-modal .modal-header h2{font-size:19px}
.duplicate-card{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:17px 0;margin:0}
.duplicate-card h3{font-size:13px;margin:7px 0}
.duplicate-card p{font-size:12px;color:var(--muted)}
.duplicate-card .row-actions{gap:7px}
.duplicate-card .row-actions .button{min-height:34px;padding:7px 11px;font-size:11px}
.duplicate-modal>.button.secondary{background:transparent;border:0;color:var(--accent);padding:6px 10px 6px 0;font-size:11px}
.import-modal .import-original summary{font-size:11px;color:var(--muted);font-weight:500}
@media(max-width:760px){
 .people-page .directory-toolbar{grid-template-columns:minmax(0,1fr) 44px}
 .people-page .directory-toolbar .segmented{grid-column:1/-1}
 .people-page .header-actions{width:auto;align-self:flex-end}
 .people-page .page-header{flex-direction:row;align-items:flex-start}
 .people-page .header-actions{gap:3px}
 .people-page .directory-action{width:44px;min-width:44px;height:44px}
 .people-page .directory-table td,.people-page .directory-table th{padding:14px 12px}
 .people-page .directory-table .directory-serve-column{padding-left:4px;padding-right:4px}
 .selection-actions .icon-button{width:44px;height:44px}
 .volunteer-selection{padding:6px 8px 6px 12px;gap:8px}
 .volunteer-selection strong{font-size:11px}
 .eligibility-position-list{grid-template-columns:1fr}
 .eligibility-team>summary,.eligibility-position-list .checkbox-label,.qualified-positions .checkbox-label{min-height:44px}
 .volunteer-invite-list .badge{max-width:110px;white-space:normal;line-height:1.5;text-align:right}
 .people-modal,.eligibility-modal{padding:20px}
 .people-modal .form-footer .button,.eligibility-modal .form-footer .button{min-height:44px}
 .teams-page .team-members .icon-button{width:44px;height:44px}
}
@media(max-width:420px){.people-page .page-header{flex-direction:column;gap:12px}.people-page .header-actions{align-self:flex-start}}
.profile-emails{grid-column:1/-1;min-width:0;border:0;border-top:1px solid var(--line);margin:0 0 18px;padding:12px 0 0}.profile-emails legend{font-size:11px;font-weight:600;color:var(--muted);padding-right:10px}.profile-emails>.muted{font-size:11px;margin-bottom:8px}.profile-email-row{display:grid;grid-template-columns:20px minmax(100px,1fr) 100px 32px;align-items:center;gap:8px;margin:8px 0}.profile-email-row input[type=email]{width:100%;min-width:0;min-height:40px;font-size:12px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--paper);color:var(--ink)}.email-primary-choice{display:flex;align-items:center;justify-content:center;min-height:40px}.email-primary-choice input{width:15px;height:15px;accent-color:var(--accent)}.email-address-input,.email-label-input{min-width:0}.profile-emails>.quiet-action{display:inline-flex;align-items:center;gap:6px}.profile-email-row select{width:100%}@media(max-width:500px){.profile-email-row{grid-template-columns:20px minmax(0,1fr) 44px;gap:8px}.email-label-input{grid-column:2;grid-row:auto}.profile-email-row>.icon-button{grid-column:3;grid-row:1 / span 2;width:44px;height:44px}.email-primary-choice{grid-row:1 / span 2}.email-address-input{grid-column:2}.profile-email-row input[type=email]{min-height:44px}}

/* Service template manager and recurring schedule preview */
.scheduler-launch{display:flex;justify-content:flex-end;margin:-10px 0 18px}
.service-scheduler{width:780px}
.scheduler-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.scheduler-tabs button{border:0;border-bottom:2px solid transparent;padding:12px 0;background:none;color:var(--muted);font-size:12px;min-height:44px}
.scheduler-tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:650}
.scheduler-tabs span{margin-left:6px;font-size:10px}
.scheduler-controls{padding:0;margin:0;border:0;min-width:0}
.scheduler-template-summary{font-size:12px;color:var(--muted);margin:-5px 0 20px;line-height:1.6}
.scheduler-phrase{display:flex;gap:10px;align-items:flex-end}
.scheduler-phrase>.field{flex:1;min-width:0}
.scheduler-phrase>.button{margin-bottom:18px;min-height:42px}
.scheduler-weekdays{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 20px}
.scheduler-weekdays label{display:flex;align-items:center;gap:6px;min-height:44px;padding:9px;border:1px solid var(--line);background:var(--paper);border-radius:8px;font-size:12px;cursor:pointer}
.scheduler-weekdays label:has(input:checked){background:var(--soft);border-color:var(--accent);color:var(--accent)}
.scheduler-weekdays input{accent-color:var(--accent)}
.scheduler-section-heading{display:flex;align-items:center;gap:18px;justify-content:space-between;margin-bottom:22px}
.scheduler-section-heading p,.scheduler-preview p,.scheduler-empty p{font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0 16px}
.scheduler-section-heading .button{flex-shrink:0}
.scheduler-template-group{margin:20px 0}
.scheduler-template-group h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:10px}
.scheduler-template-row{display:flex;align-items:center;gap:10px;padding:15px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px}
.scheduler-template-row>div{flex:1;min-width:0}
.scheduler-template-row strong{font-size:13px;overflow-wrap:anywhere}
.scheduler-template-row small{display:block;font-size:11px;color:var(--muted);margin-top:6px}
.scheduler-preview{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.scheduler-preview h3,.scheduler-empty h3{font-size:16px}
.scheduler-preview ol{list-style:none;padding:0;margin:15px 0;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:9px}
.scheduler-preview li{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px}
.scheduler-preview li:last-child{border:0}
.scheduler-preview li small{color:var(--muted);font-size:10px}
.scheduler-preview progress{width:100%;accent-color:var(--accent)}
.service-scheduler form>.muted{margin-bottom:20px}
@media(max-width:600px){.scheduler-launch{justify-content:flex-start;margin-top:0}.scheduler-phrase,.scheduler-section-heading{display:block}.scheduler-phrase>.button{margin-top:-6px}.service-scheduler .form-grid{grid-template-columns:1fr}.scheduler-weekdays{gap:5px}.scheduler-weekdays label{padding:7px}.scheduler-template-row{padding:12px}.scheduler-preview .form-footer{flex-wrap:wrap}.scheduler-preview li{flex-direction:column;gap:5px}}

/* Keep uploaded artwork readable even when both theme slots use the same file. */
.church-logo[data-logo-surface="light"]{background:#F3F7FB;padding:6px;border-radius:6px}
.church-logo[data-logo-surface="dark"]{background:#102237;padding:6px;border-radius:6px}
.studio-plan-row.is-preservice{background:var(--soft);border-inline-start:3px solid var(--accent)}
.preservice-badge{display:inline-block!important;background:var(--soft);border:1px solid var(--line);color:var(--accent);border-radius:4px;padding:2px 5px;font-size:10px;font-weight:650;line-height:1.4;margin-right:5px}
.template-plan-preview{max-height:280px;overflow:auto;padding:15px;border:1px solid var(--line);border-radius:8px;margin-bottom:18px;font-size:12px}
.template-plan-preview ol{list-style:decimal;padding-left:22px;margin-top:10px}.template-plan-preview li{padding:5px 0}

/* Visual service template order */
.visual-template-editor fieldset{border:0;padding:0;min-width:0}
.service-scheduler:has(.visual-template-editor){width:960px}
.template-details{border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:18px}
.template-details>summary{display:flex;justify-content:space-between;cursor:pointer;font-size:12px;font-weight:650;margin-bottom:12px}
.template-order{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.template-order-labels,.template-row-main{display:grid;grid-template-columns:28px 65px minmax(0,1fr) 70px 65px;gap:8px;align-items:center;padding:12px}
.template-order-labels{font-size:10px;color:var(--muted);border-bottom:1px solid var(--line)}
.template-plan-row{border-bottom:1px solid var(--line);background:var(--surface)}
.template-plan-row.is-header,.studio-plan-row.type-header{background:var(--soft);border-top:2px solid var(--line)}
.studio-plan-row.type-header .plan-item-title{font-size:14px;font-weight:750;letter-spacing:.03em}
.template-plan-row.is-preservice{border-left:3px solid var(--accent)}
.template-row-title{min-width:0}.template-row-title>input{width:100%;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:5px;padding:7px 5px;font-size:13px;font-weight:600}
.template-row-title>input:focus,.template-row-title>input:hover{border-color:var(--line);background:var(--paper)}
.template-row-title>small{display:block;font-size:10px;color:var(--muted);padding-left:5px}
.template-minutes{width:100%;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-size:12px}
.template-row-actions{display:flex}.template-row-actions .icon-button{width:30px}
.template-row-options{padding:15px 20px;border-top:1px solid var(--line);background:var(--paper)}
.template-placeholder-toggle{display:flex;align-items:center;gap:8px;font-size:12px;margin:12px 0 18px;color:var(--muted)}
.template-placeholder-toggle input{width:16px;height:16px;accent-color:var(--accent)}
.template-move-actions{display:flex;gap:15px}.template-move-actions button{display:flex;gap:5px;align-items:center;font-size:11px;color:var(--accent)}
.template-empty{padding:30px 20px;font-size:12px;line-height:1.6;color:var(--muted)}
.placeholder-badge{display:inline-block;background:var(--paper);border:1px dashed var(--accent);border-radius:4px;padding:2px 5px;color:var(--accent);font-size:10px;margin-right:5px}
.template-quick-add{flex-wrap:wrap}.header-duration{text-align:center;color:var(--muted)}
@media(max-width:600px){.template-order-labels,.template-row-main{grid-template-columns:22px 45px minmax(0,1fr) 52px 28px;gap:4px;padding:10px 6px}.template-row-actions{flex-direction:column}.template-row-title>input{font-size:12px}.template-row-main .plan-start{font-size:9px}.template-row-options{padding:14px 10px}}

/* Applied service template, visible at a glance in both themes. */
.service-card-title{flex-wrap:wrap}
.service-template-tag{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--accent);font-size:10px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.service-template-tag svg{flex:none}
@media(max-width:600px){.service-template-tag{font-size:9px;padding:3px 6px}}

.service-delete-action{color:#b42318}.dark .service-delete-action{color:#fda29b}
.delete-service-summary{padding:15px;border:1px solid var(--line);border-radius:8px;margin-bottom:18px;background:var(--paper)}
.delete-service-summary strong{font-size:15px}.delete-service-summary p{font-size:12px;color:var(--muted);margin-top:8px}
.button.delete-service-confirm{background:#b42318;color:#fff;border-color:#b42318}

/* Volunteer inbox */
.inbox-count{margin-left:auto;background:#094c84;color:white;border-radius:20px;font-size:11px;padding:2px 7px;line-height:1.4}
.inbox-bell{position:relative;text-decoration:none}.inbox-bell>span{position:absolute;top:-3px;right:-6px;min-width:16px;border-radius:20px;background:#094c84;color:#fff;font-size:10px;padding:1px 4px;line-height:14px;text-align:center}
.inbox-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 16px;color:var(--muted);font-size:13px}.inbox-heading .button{font-size:12px;min-height:34px}
.inbox-message{display:flex;gap:14px;padding:22px 0;border-top:1px solid var(--line)}.inbox-message-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:var(--soft);color:var(--muted)}.inbox-message.unread .inbox-message-icon{color:var(--accent);background:var(--soft)}
.inbox-message-copy{flex:1;min-width:0}.inbox-message-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inbox-message-title h2{font-size:15px;margin:0}.inbox-message-copy p{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.inbox-message-copy time{font-size:12px;color:var(--muted)}.inbox-unread-label{font-size:10px;font-weight:700;color:var(--accent);background:var(--soft);border-radius:20px;padding:3px 7px}
.inbox-message-actions{display:flex;gap:18px;align-items:center;margin-top:12px;font-size:13px;flex-wrap:wrap}.inbox-message-actions .text-link{display:inline-flex;align-items:center;gap:6px}.inbox-message-actions button{background:none;border:0;color:var(--muted);padding:8px 0;cursor:pointer;font-size:12px}.inbox-message-actions button:hover{text-decoration:underline}.inbox-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;font-size:13px}
.setlist-plan-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.setlist-notice-hint{font-size:12px!important;color:var(--muted);line-height:1.6}.setlist-notice-result{padding:16px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.setlist-notice-result p{flex:1;min-width:180px}
@media(max-width:640px){.setlist-plan-actions{gap:6px}.setlist-plan-actions .button{font-size:11px;padding:7px 9px;min-height:36px}.inbox-message{gap:10px}.inbox-message-icon{width:30px;height:30px}.inbox-heading .button{font-size:11px}.inbox-message-actions a,.inbox-message-actions button{min-height:44px;display:inline-flex;align-items:center}}

.volunteer-inbox .panel{padding:20px 24px}.volunteer-inbox .inbox-message-title h2{font-size:15px}.volunteer-inbox .inbox-message-copy p{font-size:14px}@media(max-width:640px){.volunteer-inbox .panel{padding:16px}}

.push-preferences{padding:18px 20px;margin-bottom:20px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.push-preferences h2{display:flex;align-items:center;gap:8px;font-size:16px;margin:0 0 8px}.push-preferences p{font-size:14px;line-height:1.55;color:var(--muted);margin:8px 0 12px}

.connection-notice{padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted);font-size:14px;line-height:1.5}

.team-request-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.team-request-filters button{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted);font:inherit;cursor:pointer}.team-request-filters button.active{color:var(--accent);border-color:var(--accent)}.team-request-filters button span{font-size:12px;font-weight:700}.team-request-list{display:grid;gap:0}.team-request-card{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line)}.team-request-card:last-child{border-bottom:0}.team-request-details{min-width:0;flex:1}.team-request-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.team-request-details h2{font-size:19px;margin:10px 0;overflow-wrap:anywhere}.team-request-details p{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:14px;margin:7px 0}.team-request-details p svg{flex-shrink:0}.team-request-details .text-link{margin-top:9px}.team-request-actions{display:flex;gap:8px;flex-wrap:wrap}.team-request-confirmation{padding:12px 16px;background:var(--soft);border:1px solid var(--line);border-radius:10px;font-size:14px;line-height:1.5}
@media(max-width:640px){.team-request-card{align-items:stretch;flex-direction:column;padding:18px;gap:18px}.team-request-actions .button{flex:1;min-height:44px}.team-request-heading .schedule-ministry{flex-basis:100%}}

.leadership-chart{list-style:none;margin:0;padding:0;display:grid;gap:22px}.leadership-tier{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:18px}.leadership-tier:not(:last-child):before{content:"";position:absolute;left:17px;top:36px;bottom:-22px;border-left:1px solid var(--line)}.leadership-tier-marker{padding-top:2px}.leadership-tier-marker>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--soft);border:1px solid var(--line);color:var(--accent);font-size:12px;font-weight:700}.leadership-tier-card{min-width:0;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--paper)}.leadership-tier-card>header{display:flex;gap:16px;justify-content:space-between;align-items:center}.leadership-tier-caption{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}.leadership-tier-card h3{font-size:18px;line-height:1.3;margin:0;overflow-wrap:anywhere}.leadership-people-count{font-size:12px;color:var(--muted);white-space:nowrap}.leadership-responsibility{font-size:13px;color:var(--muted);line-height:1.7;margin:10px 0 0;white-space:pre-line;overflow-wrap:anywhere}.leadership-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin-top:18px}.leadership-person{display:flex;align-items:center;gap:12px;padding:14px;background:var(--soft);border-radius:10px;min-width:0}.leadership-avatar{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;color:var(--accent);border:1px solid var(--line);font-size:13px;font-weight:700}.leadership-person>div{min-width:0}.leadership-person h4{font-size:14px;margin:0;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.leadership-person p{margin:3px 0 0;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.leadership-members-editor{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.leadership-members-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.leadership-members-heading strong{font-size:13px}.leadership-member-fields{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) 36px;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.leadership-member-fields .field{margin:0!important}.leadership-member-index{font-size:12px;color:var(--muted)}.leadership-member-fields textarea{min-height:42px;resize:vertical}.church-leadership-editor>li{padding:20px}.church-leadership-editor>li>header{padding-bottom:14px;border-bottom:1px solid var(--line)}
@media(max-width:640px){.leadership-tier{grid-template-columns:28px minmax(0,1fr);gap:10px}.leadership-tier-marker>span{width:28px;height:28px;font-size:10px}.leadership-tier:not(:last-child):before{left:13px;top:30px}.leadership-tier-card{padding:14px}.leadership-tier-card>header{align-items:flex-start}.leadership-tier-card h3{font-size:16px}.leadership-people{grid-template-columns:1fr}.leadership-person{padding:12px}.leadership-member-fields{grid-template-columns:20px minmax(0,1fr) 32px;gap:10px}.leadership-member-fields>.field:nth-child(2){grid-column:2;grid-row:1}.leadership-member-fields>.field:nth-child(3){grid-column:2;grid-row:2}.leadership-member-fields>.icon-button{grid-column:3;grid-row:1}.leadership-member-index{grid-row:1}.church-leadership-editor>li{padding:14px}}

/* Viewport-bounded navigation with native safe-area spacing. */
.serve-mobile-drawer[data-state] {
  display:flex; flex-direction:column; gap:0;
  top:0; bottom:auto; height:100dvh; max-height:100dvh;
  width:min(360px,100vw); max-width:100vw;
  padding: max(22px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 0 18px;
  overflow:hidden; background:var(--surface); color:var(--ink); border-color:var(--line);
}
.serve-mobile-drawer .serve-drawer-title {padding:0 44px 18px 0; font-size:20px; flex-shrink:0}
.serve-mobile-drawer>button {top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.serve-drawer-scroll {min-height:0; flex:1; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:0 4px calc(20px + env(safe-area-inset-bottom))}
.serve-mobile-drawer .mobile-workspace-account {display:grid;gap:7px;min-width:0;padding:14px 10px 18px;margin:0 0 8px;border-bottom:1px solid var(--line)}
.serve-mobile-drawer .mobile-workspace-account strong,.serve-mobile-drawer .mobile-workspace-account small {overflow-wrap:anywhere}
.serve-mobile-drawer .mobile-workspace-account small {font-size:12px;color:var(--muted)}
.serve-mobile-drawer .church-select,.serve-mobile-drawer .church-select select {width:100%;max-width:100%;min-width:0}
.serve-drawer-links {display:grid;gap:3px}
.serve-drawer-links a,.serve-drawer-actions button {display:flex;align-items:center;gap:12px;min-height:46px;padding:12px 10px;border-radius:9px;font-size:13px;line-height:1.5;color:var(--ink);text-align:left}
.serve-drawer-links a>svg,.serve-drawer-actions button>svg {flex-shrink:0}
.serve-drawer-links a>span {min-width:0;overflow-wrap:anywhere}
.serve-drawer-links a.active {background:var(--soft);color:var(--accent);font-weight:650}
.serve-drawer-links .inbox-count {margin-left:auto;flex-shrink:0}
.serve-drawer-actions {display:grid;gap:3px;border-top:1px solid var(--line);padding-top:10px;margin-top:12px}
.serve-drawer-actions button {width:100%;border:0;background:transparent}
.serve-drawer-actions button:hover,.serve-drawer-links a:hover {background:var(--hover)}
@media(max-width:760px) {
  .topbar .account-actions>.desktop-account-action {display:none}
  .topbar .mobile-menu>.icon-button,.topbar .mobile-menu button {width:44px;height:44px}
  .topbar .mobile-brand {min-width:0}
  .topbar .account-actions {gap:0;margin-left:auto}
  .serve-shell .mobile-nav {gap:0;padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}
  .serve-shell .mobile-nav>a {flex:1;min-width:0;min-height:48px;padding:5px 2px}
  .serve-shell .mobile-nav .mobile-tab-icon {position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}
  .serve-shell .mobile-nav .mobile-inbox-count {position:absolute;top:-6px;left:15px;min-width:16px;height:16px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent);color:var(--surface);font-size:9px;font-weight:700;line-height:1}
  .serve-shell .main-content {padding-bottom:calc(105px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce) {
  .serve-mobile-drawer[data-state] {animation:none;transition:none}
}

.sheptools-switcher,.sheptools-sheet { --st-surface:#fff;--st-ink:#1a1a1a;--st-muted:#626b76;--st-line:#e4e6e9;--st-hover:#f3f5f7;color:var(--st-ink);font-family:inherit;font-size:13px;line-height:1.4; }
.dark .sheptools-switcher,.dark .sheptools-sheet { --st-surface:#1b2330;--st-ink:#f1f4f8;--st-muted:#b6c0cf;--st-line:#374254;--st-hover:#283448; }
.sheptools-dock { position:fixed;inset:auto 12px max(10px,env(safe-area-inset-bottom)) auto;z-index:35;display:flex;align-items:center;gap:12px;padding:7px 10px;max-width:calc(100vw - 24px);background:var(--st-surface);border:1px solid var(--st-line);border-radius:18px;box-shadow:0 6px 28px #00000016; }
.sheptools-family { display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:10px;color:var(--st-muted);text-decoration:none; }
.sheptools-dock-apps { display:flex;gap:4px; }
.sheptools-app { display:flex;align-items:center;gap:9px;min-height:52px;padding:7px 10px;border:1px solid transparent;border-radius:12px;color:var(--st-ink);text-decoration:none; }
.sheptools-app:hover { background:var(--st-hover); }
.sheptools-app.is-current { background:var(--st-hover);border-color:var(--sheptools-app-color); }
.sheptools-icon { position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0; }
.sheptools-icon img { display:block;width:30px;height:30px;object-fit:contain; }
.sheptools-label { display:flex;flex:1;flex-direction:column;gap:1px;min-width:0; }
.sheptools-label strong { font-size:12px;font-weight:650;white-space:nowrap; }
.sheptools-label small { font-size:10px;color:var(--st-muted);white-space:nowrap; }
.sheptools-label>span { font-size:12px;color:var(--st-muted); }
.sheptools-app.is-locked .sheptools-icon img { filter:grayscale(1);opacity:.5; }
.sheptools-lock { position:absolute;right:-2px;bottom:-2px;background:var(--st-surface);border-radius:3px;color:var(--st-muted); }
.sheptools-trigger { position:fixed;right:max(12px,env(safe-area-inset-right));z-index:35;display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 13px;background:var(--st-surface);color:var(--st-ink);border:1px solid var(--st-line);border-radius:999px;box-shadow:0 3px 15px #0002;font-size:12px;font-weight:650;cursor:pointer; }
.sheptools-overlay { position:fixed;inset:0;z-index:80;background:#10182888; }
.sheptools-sheet { position:fixed;inset:auto 0 0;z-index:81;box-sizing:border-box;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);overflow-y:auto;overscroll-behavior:contain;padding:22px max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:var(--st-surface);border:1px solid var(--st-line);border-radius:22px 22px 0 0;box-shadow:0 -8px 36px #0002; }
.sheptools-sheet-heading { display:flex;align-items:start;justify-content:space-between;gap:12px;margin:0 auto 14px;max-width:520px; }
.sheptools-sheet-heading h2 { font-size:19px;font-weight:650;line-height:1.3;letter-spacing:-.3px;margin:0; }
.sheptools-sheet-heading p { color:var(--st-muted);font-size:12px;margin:5px 0 0; }
.sheptools-close { display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;padding:8px;background:var(--st-hover);color:var(--st-ink);border:0;border-radius:50%;cursor:pointer; }
.sheptools-sheet-apps { display:grid;gap:5px;max-width:520px;margin:auto; }
.sheptools-sheet-apps .sheptools-app { padding:9px 12px;min-height:62px; }
.sheptools-sheet-apps .sheptools-label strong { font-size:14px; }
.sheptools-sheet-footer { max-width:520px;margin:16px auto 0;padding-top:14px;border-top:1px solid var(--st-line);font-size:12px;color:var(--st-muted); }
.sheptools-sheet-footer p { margin:0 0 6px; }
.sheptools-sheet-footer a { display:inline-flex;align-items:center;gap:4px;min-height:40px;color:var(--st-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px; }
.sheptools-switcher a:focus-visible,.sheptools-switcher button:focus-visible,.sheptools-sheet a:focus-visible,.sheptools-sheet button:focus-visible { outline:3px solid #42b1e6;outline-offset:3px; }
.sheptools-space { height:100px;flex-shrink:0; }
.sheptools-switcher[data-keyboard="open"],body:has(.preaching-mode) .sheptools-switcher { display:none; }
@media(max-width:1023px) { .sheptools-space { height:60px; } }
@media print { .sheptools-switcher,.sheptools-space,.sheptools-sheet,.sheptools-overlay { display:none!important; } }

@media (max-width:1280px) { .sheptools-family span { display:none; } .sheptools-dock { gap:5px; } .sheptools-app { padding-inline:7px;gap:6px; } }
