
*{box-sizing:border-box}body{margin:0;background:#f5f6fa;color:#102648;font:15px system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #dddfea;border-radius:10px;padding:11px 16px;background:white;color:#363b55}button:hover{background:#eaf3fc}button.primary{background:#102648;color:white;border-color:#102648}aside{position:fixed;width:232px;inset:0 auto 0 0;background:white;border-right:1px solid #e6e8f1;padding:30px 22px}.brand{font-size:24px;font-weight:750;letter-spacing:-1px}.mark{display:inline-grid;place-items:center;background:#102648;color:white;width:34px;height:34px;border-radius:11px;margin-right:9px}.sub{font-size:11px;letter-spacing:2px;color:#81869a;margin:9px 0 40px}.church{padding:14px 0;border-top:1px solid #eee;border-bottom:1px solid #eee;font-size:13px;margin-bottom:28px}nav button{display:block;width:100%;text-align:left;margin-bottom:9px;border:0;color:#75798e;background:transparent}nav button.active{background:#eaf3fc;color:#102648;font-weight:650}.foot{position:absolute;bottom:25px;font-size:12px;color:#8a8da0}main{margin-left:232px;padding:32px 45px;max-width:1500px}.top{display:flex;justify-content:space-between;align-items:center;gap:15px}.eyebrow{font-size:11px;letter-spacing:2px;color:#1b518e;font-weight:700}h1{font-size:32px;letter-spacing:-1px;margin:9px 0}h2{font-size:18px;margin:0 0 18px}p{color:#7b8093;line-height:1.6}.notice{background:#eaf3fc;border:1px solid #d4e5f6;color:#102648;padding:12px 17px;border-radius:10px;font-size:12px;margin:25px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.card,.panel{background:white;border:1px solid #e5e7ef;border-radius:15px;padding:24px}.card small{color:#7c8194}.number{font-size:33px;font-weight:700;margin:15px 0 5px}.card span{font-size:11px;color:#9296a8}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin-top:22px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel{margin-top:20px}.split .panel{margin:0}.empty{text-align:center;padding:40px 15px;color:#8a8ea2}.empty strong{display:block;color:#555b73;margin-bottom:10px}.field{display:flex;flex-direction:column;gap:8px}label{font-size:13px;color:#63697f}input,select,textarea{width:100%;border:1px solid #dfe2ec;background:#fff;padding:12px;border-radius:9px;color:#292e45}input:focus,select:focus,textarea:focus{outline:2px solid #2864a9}input[type=number]{font-size:20px}textarea{min-height:80px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.two{grid-template-columns:repeat(2,1fr)}details{border:1px solid #e5e7ee;border-radius:12px;background:white;margin:16px 0;padding:20px}summary{cursor:pointer;font-weight:650;margin:0}details[open] summary{margin-bottom:22px}.total{display:flex;justify-content:space-between;background:#eaf3fc;padding:18px;border-radius:10px;margin:20px 0;color:#102648}.total strong{font-size:24px}.form{max-width:850px}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;padding:15px 10px;border-bottom:1px solid #eaedf4}th{font-size:11px;color:#8a8ea0;font-weight:600}.scroll{overflow:auto}.pill{font-size:11px;color:#102648;background:#eaf3fc;border-radius:20px;padding:5px 9px}.row{display:flex;justify-content:space-between;gap:15px;align-items:center}.barrow{display:grid;grid-template-columns:90px 1fr 35px;gap:12px;align-items:center;font-size:12px;margin:18px 0}.bar{background:#eaf3fc;border-radius:5px;height:16px}.bar i{display:block;background:#2864a9;height:16px;border-radius:5px}#toast{position:fixed;bottom:25px;right:25px;background:#102648;color:white;padding:15px 22px;border-radius:12px;display:none;z-index:5}.muted{font-size:12px;color:#8b8fa3}.toggle{font-size:12px}#reportFilters{margin-top:20px}.group-list{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}button.danger{color:#a44848} @media(max-width:900px){main{padding:25px;margin-left:195px}aside{width:195px;padding:25px 15px}.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){aside{position:static;width:auto;padding:18px 20px;border:0}.brand{font-size:21px}.sub,.church,.foot{display:none}nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:white;padding:9px 5px;border-top:1px solid #e4e5ee;z-index:3}nav button{padding:12px 4px;text-align:center;font-size:11px;margin:0}main{margin:0;padding:14px 18px 100px}.top{align-items:flex-start}h1{font-size:27px}.card{padding:18px}.number{font-size:28px}.panel{padding:19px}.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.notice{margin:18px 0}.top .primary{font-size:12px;padding:12px}.toggle{font-size:11px;padding:8px}.barrow{grid-template-columns:75px 1fr 30px}}

main{max-width:1120px}.brand img{width:100%;max-width:155px;border-radius:10px;display:block}.sub{margin-bottom:20px}.church a{color:inherit}.notice{font-size:14px}.field{margin-bottom:12px}.check{display:inline-flex;gap:7px;align-items:center;min-height:40px;margin-right:12px}.check input{width:auto}fieldset{border:1px solid #e5e7ee;border-radius:10px;margin:10px 0;padding:12px}legend{font-weight:650}.person{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end}.person .field{margin:0}.person .checks{grid-column:1/-1}.summary-values{display:flex;flex-wrap:wrap;gap:14px}.summary-values span{white-space:nowrap}.status{min-height:24px;font-weight:650}.report-list button{display:block;margin:8px 0;text-align:left}.note{font-size:13px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #102648;outline-offset:3px}@media(max-width:600px){.brand img{width:95px}.person{grid-template-columns:1fr 1fr}.person button{grid-column:1/-1;justify-self:start}.grid{grid-template-columns:1fr}aside{border-bottom:1px solid #e6e8f1}.church{display:block;margin:0;border:0;padding:7px 0 0}}

@media print {
  @page { margin: 13mm; }
  body { background: white; color: black; font-size: 10pt; }
  aside, main { display: none !important; }
  #print-report[hidden] { display: block !important; }
  #print-report img { display: block; width: 95px; height: auto; }
  #print-report h1 { font-size: 19pt; }
  #print-report h2, #print-report h3 { break-after: avoid; margin: 12pt 0 4pt; }
  #print-report section + section { break-before: page; }
  #print-report p, #print-report th { color: black; }
  #print-report table { table-layout: auto; font-size: 9pt; }
  #print-report td, #print-report th { padding: 4pt; overflow-wrap: anywhere; white-space: pre-wrap; }
  #print-report tr { break-inside: avoid; }
}

/* Attendance shell, dashboard and form share the original component styles. */
main { max-width: 1500px; }
.brand { display: flex; align-items: center; gap: 9px; }
.brand img { width: 64px; height: auto; border-radius: 0; }
.sub { margin: 9px 0 40px; color: #666b80; }
.top p { margin: 0; color: #60667b; }
.status:empty { display: none; }
.card small, nav button, .note { color: #62677e; }
#page-title:focus { outline: none; }
[hidden] { display: none; }
@media (max-width: 600px) {
  .sub, .foot { display: none; }
  nav { padding-bottom: calc(9px + env(safe-area-inset-bottom)); }
  main { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  input, select, textarea { font-size: 16px; }
}

.login{width:min(420px,calc(100% - 32px));margin:10vh auto}.login img{width:100px;height:auto}@media print{.login{display:none}}

/* Fit the Empower Church overview above the mobile navigation. */
@media screen and (max-width: 600px) {
  #app > aside {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 10px;
    padding: 8px 16px;
  }
  .brand { font-size: 18px; }
  .brand img { width: 53px; }
  .church {
    grid-column: 1;
    grid-row: 2;
    padding: 0;
    font-size: 11px;
    overflow-wrap: anywhere;
  }
  #logout {
    grid-column: 2;
    grid-row: 1;
    min-height: 44px;
    padding: 8px 10px;
    font-size: 12px;
  }
  .top .eyebrow { display: none; }
  .top h1 { margin: 0 0 4px; font-size: 24px; }
  .top p { font-size: 13px; line-height: 1.4; }
  #account { margin: 10px 0; padding: 8px 10px; font-size: 13px; }
  #overview-metrics { gap: 8px; }
  #overview-metrics .card { padding: 10px 12px; border-radius: 12px; }
  #overview-metrics .card small { display: block; font-size: 12px; }
  #overview-metrics .number { margin: 4px 0 0; font-size: 24px; line-height: 1.15; }
  #overview > details { margin: 10px 0; padding: 0 12px; }
  #overview > details > summary { padding: 12px 0; min-height: 44px; }
  #overview > details[open] > summary { margin-bottom: 4px; }
  nav button { min-height: 44px; }
}

.login { padding: 22px 20px 18px; }
.login > img { display: block; width: 82px; }
.login > h1 { margin: 10px 0 3px; font-size: 24px; }
.login > p { margin: 0 0 18px; font-size: 14px; }
#access-form .field { margin: 0 0 5px; }
#unlock-device, #submit-code { width: 100%; min-height: 44px; }
#submit-code { margin-top: 10px; }
.code-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
  font-size: 13px;
}
.code-divider::before, .code-divider::after {
  content: "";
  flex: 1;
  border-top: 1px solid #dfe2ec;
}
.code-input { position: relative; }
.code-input input { padding-right: 50px; min-height: 46px; }
#show-code {
  position: absolute;
  inset: 0 0 0 auto;
  display: grid;
  place-items: center;
  width: 46px;
  padding: 0;
  background: transparent;
  border: 0;
}
#show-code[aria-label="Ocultar código"] { color: #102648; }
#access-status { margin: 10px 0 0; }
#access-status:empty { display: none; }
#forget-device {
  min-height: 44px;
  margin-top: 4px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: #62677e;
  text-decoration: underline;
  font-size: 13px;
}

nav button.active { box-shadow: inset 3px 0 #2864a9; }

.login .install-guide { margin: 14px 0 0; padding: 10px 12px; }
.install-guide img { display: block; border: 1px solid #dfe2ec; border-radius: 10px; }
.install-guide p { font-size: 13px; margin: 8px 0; }
#leader-code:empty { display: none; }
#invitation-text { margin-bottom: 10px; }

.directory-results { list-style: none; margin: 0; padding: 0; }
.directory-results li { display: grid; gap: 2px; padding: 10px 0; border-top: 1px solid #e5e7ee; }
.directory-results span { color: #62677e; font-size: 13px; }
#directory-status:empty { display: none; }
.tab-icon { display: none; }
@media screen and (max-width: 600px) {
  #app nav { gap: 6px; padding-top: 6px; }
  #app nav button:not([hidden]) {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-height: 52px;
    padding: 5px 4px;
  }
  #app nav button.active { box-shadow: none; }
  .tab-icon { display: block; }
  nav button.active .tab-icon { color: #1b518e; }
}

.header-actions { display: flex; align-items: end; gap: 8px; }
.header-language > span { display: block; margin-bottom: 3px; font-size: 11px; }
.language-buttons { display: flex; padding: 2px; border: 1px solid #dddfea; border-radius: 12px; background: white; }
.language-buttons button { min-width: 44px; min-height: 44px; padding: 4px; border: 0; font-size: 13px; font-weight: 650; }
.language-buttons button[aria-pressed="true"] { background: #2864a9; color: #10121c; }
@media screen and (max-width: 600px) {
  .top { gap: 8px; }
  .header-actions { flex-direction: column; flex-shrink: 0; }
}

#login-language { float: right; }
#login-language > span { text-align: right; }
#show-code[aria-label="Hide code"] { color: #102648; }

#overview-week { margin: 8px 0; }
#reports { min-width: 0; }
.report-tools, .report-card { margin: 0 0 10px; padding: 0 12px; }
.report-tools > summary, .report-card > summary { padding: 12px 0; }
.report-tools[open] > summary, .report-card[open] > summary { margin-bottom: 0; }
.report-tools .actions, .report-detail { padding-bottom: 12px; }
.report-filters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.report-filters .field { min-width: 0; }
.report-filters .field:last-child { grid-column: 1 / -1; }
.report-filters input { min-width: 0; }
.report-card > summary { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; }
.report-card > summary::after { content: '›'; font-size: 22px; color: #1b518e; }
.report-card[open] > summary::after { transform: rotate(90deg); }
.report-card > summary strong, .report-card > summary small { display: block; overflow-wrap: anywhere; }
.report-card > summary small { font-size: 12px; color: #62677e; }
.report-attendance { text-align: right; }
.report-detail { overflow-x: auto; border-top: 1px solid #e5e7ee; }
.report-detail h3 { margin: 12px 0 4px; }
.report-detail td, .report-detail th { white-space: pre-wrap; overflow-wrap: anywhere; padding: 7px 5px; }
.report-detail table { margin-bottom: 8px; }
.report-detail button { margin: 8px 0 0; }
@media screen and (max-width: 600px) {
  #reports { padding: 12px; }
  .report-filters input { padding-inline: 6px; }
}

.meeting-map { position: relative; aspect-ratio: 4/3; background: #eef1f4; overflow: hidden; border-radius: 12px; }
.meeting-map-tiles { display: grid; grid-template-columns: repeat(4,1fr); }
.meeting-map-tiles img { display: block; width: 100%; aspect-ratio: 1; }
.meeting-map-pin { position: absolute; transform: translate(-50%,-50%); background: #102648; color: white; border: 2px solid white; border-radius: 50%; min-width: 22px; height: 22px; text-align: center; line-height: 18px; font-size: 12px; font-weight: 700; pointer-events: none; }
#groups-map { aspect-ratio: 5/4; max-width: 740px; }
#groups-map .meeting-map-tiles { grid-template-columns: repeat(5,1fr); }
.meeting-map-pin.meeting-map-church { width: 18px; min-width: 0; height: 23.4px; transform: translate(-50%,-100%); border: 0; border-radius: 0; background: transparent; }
.meeting-map-church svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 1px 1px #10264860); }
#meeting-pin-map { cursor: crosshair; }
#groups-map-panel > label { margin-top: 10px; }

/* Empower Church brand and application surfaces. */
@media screen {
  :root {
    --empower-navy: #102648;
    --empower-orange: #2864a9;
    --empower-rust: #1b518e;
    --empower-peach: #eaf3fc;
    --empower-surface: #fff;
    --empower-line: #dfe3ee;
    --empower-muted: #535b75;
    --empower-shadow: 0 1px 2px #10264808, 0 8px 24px #10264808;
  }
  body { background: #f1f3f8; }
  p, label, .note, .card small { color: var(--empower-muted); }
  h1, h2, h3 { line-height: 1.15; text-wrap: balance; }
  button { min-height: 44px; font-weight: 600; }
  button.primary:hover { background: #2d376a; }
  input, select, textarea { min-height: 44px; background: #f9faff; border-color: var(--empower-line); }
  .panel, details, .card { border-color: var(--empower-line); box-shadow: var(--empower-shadow); }
  .login {
    width: min(440px, calc(100% - 32px));
    margin: clamp(24px, 9svh, 100px) auto;
    padding: clamp(20px, 6vw, 36px);
    border-top: 4px solid var(--empower-orange);
    border-radius: 22px;
    box-shadow: 0 18px 60px #10264815;
  }
  .login-brand { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .login-brand img { width: 104px; }
  #login-language { float: none; }
  .login > h1 { margin: 25px 0 6px; font-size: clamp(27px, 7vw, 34px); }
  .login > p { margin-bottom: 24px; }
  .login .install-guide { background: #f6f7fb; box-shadow: none; }
  .login .install-guide summary { min-height: 44px; align-content: center; }
  #access-status { color: var(--empower-rust); }
  .top {
    padding: clamp(15px, 3vw, 28px);
    background: var(--empower-navy);
    color: white;
    border-radius: 18px;
    border-bottom: 3px solid var(--empower-orange);
    box-shadow: var(--empower-shadow);
  }
  .top p { color: #dce1f6; }
  .top .eyebrow { color: #ffad99; }
  .top h1 { font-size: clamp(24px, 4vw, 40px); }
  .top .primary { background: var(--empower-peach); color: var(--empower-navy); border-color: var(--empower-peach); }
  .top .primary:hover { background: white; }
  .header-language button[aria-pressed="true"] { background: var(--empower-orange); color: #10121c; }
  #account { width: fit-content; margin: 14px 0; background: white; border-color: var(--empower-line); font-weight: 600; }
  #overview-week { margin: 16px 0 9px; font-weight: 650; }
  #overview-metrics .card { position: relative; padding: 15px; min-width: 0; border-radius: 14px; }
  #overview-metrics .card::before { content: ""; display: block; width: 18px; height: 3px; margin-bottom: 9px; border-radius: 2px; background: var(--empower-orange); }
  #overview-metrics .card small { display: block; line-height: 1.3; font-weight: 650; }
  #overview-metrics .number { margin: 6px 0 0; font-size: clamp(27px, 4vw, 38px); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
  #overview > details, #report > details, #meeting-location, #reports { border-radius: 16px; }
  #overview > details > summary, #report > details > summary { font-size: 16px; }
  summary::marker { color: var(--empower-orange); }
  .report-tools { background: #f6f7fb; box-shadow: none; }
  .report-card { border-radius: 12px; }
  .report-attendance { padding: 5px 8px; border-radius: 8px; background: var(--empower-peach); }
  .directory-results li { padding-block: 12px; }
  .meeting-map { border: 1px solid var(--empower-line); }
  .meeting-map-pin { background: var(--empower-rust); }
  #children-field { box-shadow: none; }
  .total { align-items: center; border-left: 3px solid var(--empower-orange); }
}
@media screen and (min-width: 601px) {
  #app > aside { padding-top: 28px; box-shadow: 1px 0 0 #10264805; }
  #app nav button:not([hidden]) { display: flex; align-items: center; gap: 10px; }
  #app .tab-icon { display: block; flex-shrink: 0; }
}
@media screen and (max-width: 600px) {
  #app > aside { background: white; padding: 9px 14px; }
  #app > main { padding-inline: 12px; }
  #app nav { padding-inline: 9px; box-shadow: 0 -6px 24px #10264810; }
  #app nav button.active { border-radius: 12px; }
  #app nav button.active .tab-icon { color: var(--empower-orange); }
  #overview-metrics .card { padding: 12px; }
  .report-card > summary { gap: 7px; }
  #meeting-fields .field, #report .person .field { min-width: 0; }
}

.leader-actions { margin-top: 6px; gap: 6px; }
.leader-actions button { padding-inline: 10px; font-size: 13px; }

#groups-map .meeting-map-pin { min-height: 0; padding: 0; pointer-events: auto; overflow: visible; }
#groups-map .meeting-map-pin::before { content: ""; position: absolute; inset: -4px; }
#groups-map .meeting-map-church { z-index: 0; }
#groups-map .meeting-map-pin:not(.meeting-map-church) { z-index: 1; }
#groups-map .meeting-map-pin:hover { background: #1b518e; }
#groups-map .meeting-map-church:hover { background: transparent; }
#groups-map .meeting-map-pin[aria-pressed="true"] { z-index: 2; outline: 2px solid #102648; outline-offset: 2px; }
.map-address { display: grid; gap: 4px; margin: 8px 0; padding: 12px; border-left: 3px solid #c62828; border-radius: 8px; background: #ffe0d4; overflow-wrap: anywhere; }
.map-address span { font-size: 14px; }

.map-address[hidden] { display: none; }

@media screen and (max-width: 600px) {
  #overview > #groups-map-panel[open] > summary { margin-bottom: 0; }
  #groups-map-panel > p { margin: 4px 0 8px; line-height: 1.35; }
  #groups-map-status:empty { display: none; }
  #groups-map-panel > a.note { display: inline-block; margin-top: 2px; font-size: 11px; }
  #groups-map-panel > label { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; margin: 6px 0; }
  #groups-map-panel select { min-width: 0; padding: 6px 8px; }
  #groups-map-list li { padding: 7px 0; }
  .map-address { gap: 2px; margin: 5px 0; padding: 7px 9px; }
  .map-address span { font-size: 13px; }
}

@media screen {
  body:has(> #login:not([hidden])) {
    min-height: 100svh;
    display: flow-root;
    background: #102648;
  }
}

.map-zoom-controls { gap: 6px; margin: 0 0 6px; }
.map-zoom-controls button { min-width: 44px; padding: 6px 10px; }

@media screen and (max-width: 600px) {
  #app > main:has(> #overview:not([hidden])) { padding-top: 8px; }
  main:has(> #overview:not([hidden])) > .top { padding: 10px 12px; }
  main:has(> #overview:not([hidden])) > .top h1 { margin-bottom: 3px; }
  main:has(> #overview:not([hidden])) > #account { margin: 8px 0; padding: 6px 9px; }
  #overview-week { margin: 7px 0 5px; }
  #overview-metrics { gap: 6px; }
  #overview-metrics .card { padding: 8px 10px 8px 12px; border-radius: 12px; border-left: 3px solid var(--empower-orange); }
  #overview-metrics .card::before { content: none; }
  #overview-metrics .card small { line-height: 1.2; }
  #overview-metrics .number { margin-top: 3px; font-size: 24px; }
  #overview > details { margin: 6px 0; }
  #overview > details > summary { padding-block: 9px; align-content: center; font-size: 15px; }
}

@media screen and (max-width: 600px) {
  main:has(> #reports:not([hidden])) > .top { padding: 10px 12px; }
  main:has(> #reports:not([hidden])) > #account { margin: 8px 0; padding: 6px 9px; }
  #reports { margin-top: 10px; padding: 8px; }
  #reports .report-tools { margin-bottom: 6px; padding-inline: 9px; }
  #reports .report-tools > summary { min-height: 44px; padding-block: 9px; align-content: center; }
  #reports .report-filters { gap: 6px 10px; padding-bottom: 8px; }
  #reports .report-filters .field { gap: 4px; margin: 0; }
  #reports .report-filters input[type="date"] {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    padding: 6px;
  }
  #reports .report-filters input[type="date"]::-webkit-date-and-time-value {
    min-width: 0;
    margin: 0;
    text-align: start;
  }
  #reports .report-filters select { min-width: 0; padding-block: 6px; }
}
@media screen and (max-width: 350px) {
  #reports .report-filters { grid-template-columns: minmax(0,1fr); }
}

#notice-panel { padding: 14px; }
#notice-recipients { display: grid; }
#notice-recipients .check { margin: 0; min-height: 44px; }
.notice-entry { padding: 12px 0; border-top: 1px solid var(--empower-line); }
.notice-entry h3 { margin: 0 0 4px; }
.notice-entry p { margin: 5px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }

.guide-controls:has(> #usage-guide:not([hidden])) { margin: 6px 0 10px; }
#usage-guide { margin: 0; padding: 0 12px; max-width: 680px; }
#usage-guide > summary { min-height: 44px; align-content: center; }
#usage-guide[open] > summary { margin-bottom: 6px; }
#usage-guide-steps { margin: 0; padding-inline-start: 22px; }
#usage-guide-steps li { padding: 0 0 9px 3px; }
#usage-guide-steps p { margin: 3px 0 0; font-size: 14px; line-height: 1.4; }
#usage-guide-hide { margin-bottom: 10px; }
#usage-guide-restore { padding: 6px 0; background: transparent; border: 0; color: var(--empower-muted); font-size: 12px; font-weight: 500; text-underline-offset: 2px; text-decoration: underline; }

@media screen and (max-width: 600px) {
  #app > main:has(> #notice-panel:not([hidden])) { padding-top: 8px; }
  main:has(> #notice-panel:not([hidden])) > .top { padding: 10px 12px; }
  main:has(> #notice-panel:not([hidden])) > #account { margin: 8px 0 0; padding: 6px 9px; }
  main:has(> #notice-panel:not([hidden])) > .guide-controls { margin: 0; }
  #notice-panel { margin-top: 6px; padding: 10px; }
  #notice-push-status, #notice-status { margin: 0 0 8px; line-height: 1.35; }
  #notice-push-status:empty, #notice-status:empty { display: none; }
  #notice-form .field { gap: 4px; margin-bottom: 8px; }
  #notice-form input:not([type="checkbox"]), #notice-form textarea { padding: 7px 9px; }
  #notice-form textarea { min-height: 64px; height: 64px; resize: vertical; }
  #notice-form fieldset { margin: 6px 0; padding: 2px 9px; }
  #notice-form .actions { gap: 6px; }
  #notice-form .actions button { padding: 7px 10px; font-size: 13px; }
  #notice-list h2 { margin: 10px 0 5px; }
}

.church-name{margin:16px 0 0;font-weight:700;color:#1b518e}.login-brand img,.brand img{border-radius:12px}.language-buttons button[aria-pressed="true"],.header-language button[aria-pressed="true"]{color:#fff}
