:root{color-scheme:dark;--base-size:16px;--font-scale:1;--navy:#0a192f;--card:#112240;--card2:#142b4d;--mint:#64ffda;--text:#e6f1ff;--muted:#91a5bf;--line:#263b59;--danger:#ff8594}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--base-size,16px);min-height:100vh}.app-shell{min-height:100vh;padding-bottom:100px}.topbar{height:74px;padding:0 clamp(18px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(145,165,191,.14);background:rgba(10,25,47,.9)}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-weight:700;letter-spacing:.02em}.brand-mark{height:32px;width:32px;border:1px solid rgba(100,255,218,.45);border-radius:9px;display:grid;place-items:center;color:var(--mint);font-family:Georgia,serif;font-size:calc(20px * var(--font-scale,1))}.top-actions{display:flex;align-items:center;gap:17px}.save-status{font-size:calc(12px * var(--font-scale,1));color:var(--muted);min-width:115px;text-align:right}.button{border:0;cursor:pointer;font:inherit;font-weight:650;border-radius:8px;padding:10px 16px;transition:transform .15s,background .15s}.button:hover,.print-button:hover{transform:translateY(-1px)}.button-save{background:var(--mint);color:#082522}.button-save span{font-weight:800;margin-right:5px}.workspace{width:min(100% - 40px,980px);margin:35px auto 0}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:30px;overflow-x:auto}.tab{position:relative;border:0;background:none;color:var(--muted);font:inherit;font-weight:600;padding:0 18px 15px;white-space:nowrap;cursor:pointer}.tab:after{content:"";position:absolute;bottom:-1px;left:14px;right:14px;height:2px;background:transparent;border-radius:2px}.tab.is-active{color:var(--mint)}.tab.is-active:after{background:var(--mint)}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 25px}.eyebrow{font-size:calc(10px * var(--font-scale,1));letter-spacing:.18em;color:var(--mint);font-weight:750;margin:0 0 7px}.panel-heading h1{font-size:clamp(calc(25px * var(--font-scale,1)),calc(4vw * var(--font-scale,1)),calc(34px * var(--font-scale,1)));letter-spacing:-.035em;margin:0;font-weight:650}.meeting-icon{width:42px;height:42px;border-radius:14px;border:1px solid rgba(100,255,218,.26);display:grid;place-items:center;color:var(--mint);font-size:calc(21px * var(--font-scale,1))}.form-section{background:var(--card);border:1px solid rgba(145,165,191,.1);border-radius:13px;padding:22px 24px 25px;margin-bottom:15px;box-shadow:0 8px 28px rgba(0,0,0,.08)}.form-section h2{margin:0 0 19px;font-size:calc(14px * var(--font-scale,1));font-weight:650;display:flex;align-items:center;gap:11px}.section-number{font-family:ui-monospace,SFMono-Regular,monospace;color:var(--mint);font-size:calc(11px * var(--font-scale,1));letter-spacing:.08em}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:calc(12px * var(--font-scale,1));color:#bfcee0}.field input,.repeat-row input{width:100%;min-width:0;height:42px;padding:0 12px;border-radius:7px;border:1px solid #2a4163;background:#0d1d35;color:var(--text);font:inherit;font-size:calc(13px * var(--font-scale,1));outline:none;transition:border-color .15s,box-shadow .15s}.field input::placeholder,.repeat-row input::placeholder{color:#647b9a}.field input:focus,.repeat-row input:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(100,255,218,.09)}input[type=date]{color-scheme:dark}.repeat-grid{display:grid;grid-template-columns:1fr;gap:17px}.repeat-group{min-width:0}.repeat-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.repeat-heading h3{font-size:calc(12px * var(--font-scale,1));font-weight:600;color:#bfcee0;margin:0}.add-button{border:1px solid rgba(100,255,218,.27);background:rgba(100,255,218,.06);border-radius:6px;padding:6px 10px;color:var(--mint);font:inherit;font-size:calc(11px * var(--font-scale,1));font-weight:650;cursor:pointer;white-space:nowrap}.add-button:hover{background:rgba(100,255,218,.13)}.repeat-rows{display:grid;gap:8px}.repeat-row{display:flex;gap:8px;align-items:center}.repeat-row input{height:39px}.remove-button{flex:0 0 32px;width:32px;height:32px;border:1px solid rgba(255,133,148,.25);border-radius:7px;background:transparent;color:var(--danger);font-size:calc(18px * var(--font-scale,1));line-height:1;cursor:pointer}.remove-button:hover{background:rgba(255,133,148,.1)}.testimony-heading{margin-bottom:10px}.testimony-heading h2{margin:0}.testimony-group{margin-top:6px}.autosave-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#7f93ad;font-size:calc(11px * var(--font-scale,1));margin:22px 0}.status-dot{width:6px;height:6px;background:var(--mint);border-radius:50%;box-shadow:0 0 10px rgba(100,255,218,.35)}.print-button{position:fixed;z-index:10;right:clamp(18px,5vw,68px);bottom:24px;display:flex;align-items:center;gap:9px;padding:13px 19px;border:0;border-radius:999px;background:var(--mint);color:#092520;font:inherit;font-weight:700;box-shadow:0 8px 28px rgba(0,0,0,.3);cursor:pointer;transition:transform .15s}.print-button span:first-child{font-size:calc(17px * var(--font-scale,1))}.print-document{display:none}[hidden]{display:none!important}@media(max-width:600px){.topbar{height:64px;padding:0 16px}.save-status{display:none}.workspace{width:calc(100% - 28px);margin-top:22px}.tabs{margin-bottom:23px}.tab{padding:0 11px 13px;font-size:calc(13px * var(--font-scale,1))}.form-section{padding:18px 16px 20px;margin-bottom:12px}.field-grid{grid-template-columns:1fr;gap:13px}.panel-heading{margin-bottom:19px}.meeting-icon{width:36px;height:36px}.print-button{right:16px;bottom:16px;padding:12px 16px}.autosave-note{font-size:calc(10px * var(--font-scale,1));text-align:center}.repeat-row input{font-size:calc(12px * var(--font-scale,1))}}
.hymn-pair{display:grid;grid-template-columns:minmax(64px,.32fr) minmax(0,1fr);gap:8px;width:100%}.hymn-pair input.hymn-number{text-align:center;padding:0 7px}.field-repeat{align-self:start}.field-repeat .repeat-heading h3{font-size:calc(12px * var(--font-scale,1));font-weight:600;color:#bfcee0;margin:0}.action-dock{position:fixed;z-index:10;right:clamp(18px,5vw,68px);bottom:24px;display:flex;align-items:center;gap:10px}.action-dock .print-button{position:static}.preview-button{display:flex;align-items:center;gap:8px;padding:13px 17px;border:0;border-radius:999px;background:var(--mint);color:#092520;font:inherit;font-weight:700;box-shadow:0 8px 28px rgba(0,0,0,.3);cursor:pointer;white-space:nowrap;transition:transform .15s}.preview-button:hover{transform:translateY(-1px)}.reading-toolbar{display:none}body.reading-mode{background:#fff;color:#111;min-height:100vh}body.reading-mode .app-shell,body.reading-mode .action-dock{display:none!important}body.reading-mode .print-document{display:block;width:min(100%,850px);min-height:100vh;margin:0 auto;padding:38px 54px 110px;background:#fff;color:#111;font:12pt/1.48 Arial,Helvetica,sans-serif;box-shadow:0 4px 24px rgba(14,30,50,.15)}body.reading-mode .reading-toolbar{display:flex;position:fixed;z-index:12;left:50%;bottom:16px;transform:translateX(-50%);justify-content:center;width:max-content;max-width:calc(100% - 32px)}.reading-toolbar button{border:0;border-radius:999px;padding:12px 19px;background:#0a192f;color:#fff;font:600 14px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.22);cursor:pointer}.reading-toolbar button:hover{background:#112240}body.reading-mode .print-document .print-title,body.reading-mode .print-document .print-subtitle{font-size:calc(12pt * var(--font-scale,1))}body.reading-mode .print-document p{margin:0 0 10pt}body.reading-mode .print-document ol{padding-left:28px;margin:2pt 0 10pt}body.reading-mode .print-document li{padding-left:2px;margin:2pt 0}body.reading-mode .print-document .blank{display:inline-block;min-width:72px;border-bottom:1px solid #111;height:1em;vertical-align:baseline}@media(max-width:600px){.hymn-pair{grid-template-columns:70px minmax(0,1fr)}.action-dock{right:12px;bottom:16px;gap:7px}.action-dock .preview-button,.action-dock .print-button{padding:11px 13px;font-size:calc(12px * var(--font-scale,1))}.action-dock .print-button{gap:6px}body.reading-mode .print-document{padding:24px 20px 100px;box-shadow:none}body.reading-mode .print-document p{margin-bottom:8pt}}

.font-controls{display:flex;align-items:center;gap:5px}.font-size-button{min-width:36px;height:36px;padding:0 8px;border:1px solid rgba(100,255,218,.32);border-radius:7px;background:rgba(100,255,218,.06);color:var(--mint);font:inherit;font-weight:700;cursor:pointer}.font-size-button:hover:not(:disabled){background:rgba(100,255,218,.14)}.font-size-button:disabled{opacity:.42;cursor:default}.top-actions{gap:12px}.field input,.repeat-row input{height:auto;min-height:42px;padding-top:8px;padding-bottom:8px}.repeat-row input{min-height:39px}.sacramental-announcements .repeat-group{width:100%}body.reading-mode .print-document{font:var(--base-size,16px)/1.48 Arial,Helvetica,sans-serif}body.reading-mode .print-document .print-title,body.reading-mode .print-document .print-subtitle{font-size:var(--base-size,16px)}.reading-toolbar{align-items:center;gap:10px}.reading-font-controls{padding:4px;border:1px solid #d4dbe3;border-radius:999px;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.12)}.reading-font-controls .font-size-button{background:#0a192f;color:#fff;border-color:#0a192f;min-width:40px}.reading-font-controls .font-size-button:hover:not(:disabled){background:#112240}@media(max-width:600px){.top-actions{gap:7px}.font-controls{gap:3px}.font-size-button{min-width:31px;height:34px;padding:0 6px}.reading-toolbar{gap:6px}.reading-font-controls{gap:2px;padding:3px}.reading-font-controls .font-size-button{min-width:35px}.reading-toolbar #backToEdit{padding:11px 14px;font-size:calc(13px * var(--font-scale,1))}}

.attendance-widget{position:fixed;z-index:9;right:clamp(18px,5vw,68px);bottom:90px;width:176px;padding:12px 13px 13px;background:var(--card);border:1px solid rgba(145,165,191,.22);border-radius:11px;box-shadow:0 8px 26px rgba(0,0,0,.28)}.attendance-widget label{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.attendance-widget label span{font-size:calc(13px * var(--font-scale,1));font-weight:700;color:var(--text)}.attendance-widget label small{font-size:calc(10px * var(--font-scale,1));color:var(--muted)}.attendance-widget input{display:block;width:100%;height:auto;min-height:38px;padding:7px 10px;border:1px solid #2a4163;border-radius:7px;background:#0d1d35;color:var(--text);font:inherit;font-size:calc(14px * var(--font-scale,1));outline:none}.attendance-widget input:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(100,255,218,.09)}@media(max-width:600px){.attendance-widget{right:12px;bottom:76px;width:156px;padding:9px 10px 10px}.attendance-widget label{margin-bottom:5px}.attendance-widget label span{font-size:calc(12px * var(--font-scale,1))}.attendance-widget label small{font-size:calc(9px * var(--font-scale,1))}.attendance-widget input{min-height:34px;padding:5px 8px;font-size:calc(13px * var(--font-scale,1))}}

.tabbar{display:flex;align-items:flex-end;gap:14px;min-width:0;border-bottom:1px solid var(--line);margin-bottom:30px}.tabbar .tabs{flex:1;min-width:0;margin-bottom:0;border-bottom:0}.attendance-widget{position:static;z-index:auto;right:auto;bottom:auto;width:170px;flex:0 0 170px;display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--card);border:1px solid rgba(145,165,191,.22);border-radius:8px;box-shadow:none}.attendance-widget label{flex:1;min-width:0;margin:0;gap:1px}.attendance-widget label span{font-size:calc(11px * var(--font-scale,1));overflow-wrap:anywhere}.attendance-widget label small{display:none}.attendance-widget input{flex:0 0 62px;width:62px;min-height:38px;padding:5px 7px;text-align:center;font-size:calc(13px * var(--font-scale,1))}@media(max-width:600px){.tabbar{flex-wrap:wrap;align-items:stretch;gap:0;padding-bottom:8px;margin-bottom:23px;border-bottom:0}.tabbar .tabs{flex:1 0 100%;width:100%;margin-bottom:0;border-bottom:1px solid var(--line)}.tabbar .attendance-widget{order:1;align-self:flex-end;margin:8px 0 0 auto;width:160px;flex-basis:160px}.tabbar .attendance-widget input{flex-basis:60px;width:60px}}

body.reading-mode .print-document,body.reading-mode .print-document *{font-family:Arial,Helvetica,sans-serif;font-size:var(--base-size,16px)}body.reading-mode .print-document h1,body.reading-mode .print-document h2,body.reading-mode .print-document p{margin:0 0 10pt}

.attendance-label-button{display:flex;align-items:center;justify-content:space-between;gap:4px;flex:1;min-width:0;padding:6px 0;border:0;background:transparent;color:var(--text);font:700 calc(11px * var(--font-scale,1))/1.15 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left;white-space:nowrap;cursor:pointer}.attendance-label-button:hover{color:var(--mint)}.attendance-label-button span{color:var(--mint);font-size:calc(17px * var(--font-scale,1));line-height:1}.attendance-modal{position:fixed;z-index:50;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,10,22,.76);backdrop-filter:blur(4px)}.attendance-dialog{width:min(100%,370px);padding:27px 24px 22px;border:1px solid rgba(100,255,218,.25);border-radius:18px;background:var(--card);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.45);text-align:center}.attendance-dialog h2{margin:0 0 6px;font-size:calc(18px * var(--font-scale,1));font-weight:650}.attendance-count{display:block;margin:4px 0 20px;color:var(--mint);font-size:calc(52px * var(--font-scale,1));font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums}.counter-buttons{display:flex;justify-content:center;gap:16px;margin-bottom:18px}.counter-step{width:94px;height:78px;border:1px solid rgba(100,255,218,.35);border-radius:14px;background:#0d1d35;color:var(--mint);font:700 calc(44px * var(--font-scale,1))/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}.counter-step:hover:not(:disabled){background:#173252}.counter-step:disabled{opacity:.45;cursor:default}.counter-done{width:100%;min-height:50px;border:0;border-radius:10px;background:var(--mint);color:#092520;font:700 calc(16px * var(--font-scale,1)) Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;touch-action:manipulation}.counter-done:hover{filter:brightness(1.05)}@media(max-width:600px){.attendance-dialog{width:min(100%,360px);padding:24px 20px 20px}.counter-step{width:92px;height:76px}.counter-buttons{gap:14px}}

@media(min-width:601px){.field-grid>.repeat-group[data-list="testimonios"],.field-grid>.repeat-group[data-list="barrio"],.field-grid>.repeat-group[data-list="estaca"]{grid-column:1/-1}}.repeat-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.repeat-rows>.repeat-row{min-width:0}.repeat-row .remove-button{flex-basis:36px;width:36px;height:36px}@media(max-width:600px){.repeat-rows{grid-template-columns:1fr;gap:10px}.field-grid>.repeat-group[data-list="testimonios"],.field-grid>.repeat-group[data-list="barrio"],.field-grid>.repeat-group[data-list="estaca"]{grid-column:auto}}

body.access-locked .app-shell{display:none!important}.access-gate{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,25,47,.98);color:var(--text)}.access-card{width:min(100%,390px);padding:30px 26px 24px;border:1px solid rgba(100,255,218,.2);border-radius:16px;background:var(--card);box-shadow:0 18px 60px rgba(0,0,0,.32)}.access-card>.brand-mark{margin-bottom:18px}.access-card h1{margin:0 0 22px;font-size:calc(23px * var(--font-scale,1));font-weight:650}.access-card form{display:grid;gap:10px}.access-card label{font-size:calc(13px * var(--font-scale,1));color:#bfcee0}.access-card input{width:100%;height:auto;min-height:46px;padding:10px 12px;border:1px solid #2a4163;border-radius:8px;background:#0d1d35;color:var(--text);font:inherit;font-size:calc(15px * var(--font-scale,1));outline:none}.access-card input:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(100,255,218,.09)}.access-submit{min-height:46px;border:0;border-radius:8px;background:var(--mint);color:#082522;font:700 calc(14px * var(--font-scale,1)) Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.access-error{min-height:1.2em;margin:0;color:#ff9aa5;font-size:calc(12px * var(--font-scale,1))}.access-cloud-status{margin:14px 0 0;color:var(--muted);font-size:calc(11px * var(--font-scale,1));text-align:center}.cloud-status{color:var(--muted);font-size:calc(10px * var(--font-scale,1));white-space:nowrap}.cloud-status.is-offline{color:#e6bf7c}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.password-field{position:relative;width:100%}.password-field #accessCode{padding-right:52px}.toggle-code-visibility{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:38px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.toggle-code-visibility:hover{color:var(--mint);background:rgba(100,255,218,.08)}.flatpickr-calendar{z-index:40!important;background:var(--card)!important;border-color:#2a4163!important;box-shadow:0 12px 34px rgba(0,0,0,.35)!important}.flatpickr-calendar:before,.flatpickr-calendar:after{border-bottom-color:var(--card)!important}.flatpickr-months,.flatpickr-weekdays,.flatpickr-months .flatpickr-month{background:var(--card)!important;color:var(--text)!important;fill:var(--text)!important}.flatpickr-current-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-weekday{color:var(--text)!important;fill:var(--text)!important}.flatpickr-day{color:var(--text)!important;border-color:transparent!important}.flatpickr-day:hover,.flatpickr-day:focus{background:var(--card2)!important;border-color:var(--card2)!important}.flatpickr-day.today{border-color:var(--mint)!important}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:var(--mint)!important;border-color:var(--mint)!important;color:#092520!important}.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.flatpickr-disabled{color:#647b9a!important}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{fill:var(--mint)!important;color:var(--mint)!important}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#fff!important}
@page{size:auto;margin:15mm 15mm 15mm 15mm}
@media print{
  html,body{width:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;color:#000!important;font-family:Arial,Helvetica,sans-serif!important;font-size:12pt!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body>*:not(#printDocument){display:none!important;visibility:hidden!important}
  #printDocument{display:block!important;visibility:visible!important;position:static!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:0!important;margin:0!important;overflow:visible!important;overflow-wrap:break-word!important;word-wrap:break-word!important;background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important;font:12pt/1.35 Arial,Helvetica,sans-serif!important}
  #printDocument *{visibility:visible!important;box-sizing:border-box!important;background:transparent!important;color:#000!important;font-family:Arial,Helvetica,sans-serif!important;font-size:12pt!important;box-shadow:none!important;text-shadow:none!important;border:0!important;border-radius:0!important;overflow-wrap:break-word!important;word-wrap:break-word!important}
  #printDocument .print-title,#printDocument .print-subtitle,#printDocument .print-heading{font-size:12pt!important;font-weight:700!important;text-align:center!important;letter-spacing:0!important;margin:0 0 8pt!important}
  #printDocument p{margin:0 0 8pt!important;orphans:3;widows:3;page-break-inside:avoid;break-inside:avoid}
  #printDocument .print-list{column-count:3;column-gap:20px;column-fill:balance;list-style:decimal outside!important;text-align:left!important;margin:2pt 0 8pt!important;padding-left:24pt!important;page-break-inside:auto;break-inside:auto}
  #printDocument .print-list li{display:list-item!important;margin:0 0 3pt!important;padding:0 2pt 0 0!important;text-align:left!important;page-break-inside:avoid;break-inside:avoid;-webkit-column-break-inside:avoid}
  #printDocument .blank{display:inline-block!important;min-width:68pt!important;height:1em!important;vertical-align:baseline!important;border:0!important;border-bottom:1px solid #000!important}
  #printDocument .answer{font-weight:400!important}
}