@font-face{font-family:Inter;src:url('../assets/Inter-latin.woff2');font-display:swap}
:root{--ink:#f0f0f0;--muted:#c4c4c4;--line:#2e2e2e;--green:#294c3b;--copper:#d9ad86}
body{background:#1a1a1a;color:var(--ink);font:16px/1.5 Inter,Arial,sans-serif}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #d9ad86;outline-offset:2px}[hidden]{display:none!important}i{display:inline-flex;flex-shrink:0}i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;top:-100px;left:18px;z-index:10;background:#222222;padding:12px 16px;display:inline-flex;align-items:center;min-height:44px}.skip-link:focus{top:16px}header{position:fixed;inset:0 auto 0 0;width:245px;max-width:none;padding:32px 22px;border:0;background:#1a1a1a;color:white;display:flex;flex-direction:column}header>strong{font-size:24px;letter-spacing:-.8px;display:flex;align-items:center;gap:12px}header>strong::before{content:'s.';display:grid;place-content:center;font:36px Georgia,serif;width:45px;height:45px;border-radius:16px;background:#c8956c;color:#1a1a1a}header>.muted{font-size:12px;color:#c4c4c4;line-height:1.7;margin-top:16px}header nav{display:grid;gap:8px;margin-top:30px}header nav a{color:#c4c4c4;text-decoration:none;padding:12px 14px;border-radius:16px;font-size:14px;gap:12px;transition:background .2s}header nav a:hover{background:#262321}header nav a[aria-current=page]{background:#c8956c;color:#1a1a1a;font-weight:600}.sidebar-story{margin:auto 10px 30px;font-size:23px;line-height:1.35;letter-spacing:-.5px}.sidebar-story>i{color:#c8956c;margin-bottom:12px}.sidebar-story i svg{width:40px;height:40px}.sidebar-story small{display:block;color:#c4c4c4;font-size:12px;letter-spacing:0;line-height:1.8;margin-top:12px}.sidebar-bottom{border-top:1px solid #4a4a4a;padding-top:20px;color:#c4c4c4;font-size:12px}main{margin-left:245px;max-width:1500px;padding:35px 38px}.topline{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:32px;font-size:13px;color:var(--muted)}.panel{margin-bottom:30px}.panel>p.muted:first-child{font-size:12px;letter-spacing:1.8px;font-weight:600;margin-bottom:12px}h1{font-size:clamp(32px,3.4vw,45px);line-height:1.15;letter-spacing:-1.7px;font-weight:700;margin:0 0 12px}h1 em{font-style:normal;color:var(--copper)}h2{font-size:22px;letter-spacing:-.5px;line-height:1.3;margin:0 0 18px}h3{font-size:15px;font-weight:600}.panel>p:not(.muted){color:var(--muted);font-size:15px;margin-bottom:26px}.hero{background:#2a221c;border:1px solid #343434;border-radius:24px;padding:30px 36px;margin-top:26px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.hero-label{color:#c4c4c4;font-size:12px;letter-spacing:1.8px;display:flex;align-items:center;gap:8px}.hero h2{font-size:48px;font-weight:600;letter-spacing:-2px;margin:10px 0}.hero p{color:#c4c4c4;font-size:14px;margin:0}.hero small{display:inline-block;font-size:12px;background:#222222;color:#c4c4c4;border:1px solid #343434;border-radius:24px;padding:6px 12px;margin-top:20px}.hero-art{position:relative;width:180px;height:180px;display:grid;place-items:center;border:1px solid #343434;border-radius:50%;flex-shrink:0;margin-left:22px}.hero-art::before{content:'';position:absolute;inset:22px;border:1px solid #343434;border-radius:50%}.hero-art::after{content:'✳';position:absolute;right:-5px;top:-15px;color:#d9ad86;font-size:55px;background:#2a221c;line-height:1}.hero-art svg{width:105px;height:105px;stroke-width:.85;color:#c4c4c4}.notice{background:#222222;border:1px solid #343434;border-radius:16px;padding:14px 18px;font-size:13px;color:#c4c4c4;margin-top:22px}.stats{gap:14px;margin:24px 0}.stat{position:relative;border:1px solid var(--line);border-radius:16px;padding:20px;background:white;font-size:12px;color:var(--muted)}.stat strong{font-size:33px;letter-spacing:-1px;color:var(--ink);font-weight:600;margin-bottom:9px}.stat>.icon-box{position:absolute;top:19px;right:17px}.icon-box{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:#2a221c;color:#c4c4c4}.sand{background:#2a221c;color:#d9ad86}.amber{background:#2a221c;color:#d9ad86}.lilac{background:#2a221c;color:#d9ad86}.grid{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:24px;padding:26px;min-width:0}.card>.row{border-color:var(--line);position:relative;padding:20px 0}.card p{font-size:14px}.card p.muted{font-size:12px;color:var(--muted)}.badge{font-size:12px;border:0;border-radius:16px;padding:5px 9px;background:#2a221c;color:#c4c4c4}.card .row:nth-of-type(2) .badge{background:#2a221c;color:#d9ad86}.action,.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid #4a4a4a;border-radius:16px;min-height:48px;padding:10px 16px;font-size:13px;text-decoration:none;background:transparent;color:#d9ad86;transition:transform .2s,background .2s}.action:hover,.button:hover{transform:translateY(-2px);background:#2a221c}.primary{background:#d9ad86;color:white;border-color:#d9ad86}.primary:hover{background:#f0d5bd;color:white}.action i svg{width:17px;height:17px}.card ul{padding-left:20px;font-size:14px;line-height:1.8}.preparation{background:#222222}.preparation h2{font-size:26px;margin-top:18px}.preparation p{color:#c4c4c4;font-size:14px}.prep-count{display:flex;align-items:center;gap:16px;margin:18px 0}.prep-count strong{font-size:45px;font-weight:600;letter-spacing:-2px}.prep-count span{font-size:12px;color:#c4c4c4}.preparation .action{width:100%}.subheading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px}.subheading h2{font-size:20px;margin:0}.subheading span{font-size:12px;color:var(--muted)}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quick-action{position:relative;background:#222222;border:1px solid var(--line);border-radius:16px;padding:22px;color:var(--ink);text-align:left;transition:transform .2s,border-color .2s}.quick-action:hover{transform:translateY(-3px);border-color:#4a4a4a}.quick-action strong{display:block;font-size:18px;margin:16px 0 8px;font-weight:700}.quick-action>span:last-child{font-size:12px;color:var(--muted);display:block}.preview{margin-top:32px;border:0;border-top:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:12px}.preview h2{font-size:20px;margin-bottom:10px}.preview p,.preview a{font-size:12px}.booking>p{color:var(--muted);font-size:14px}.booking>h2{margin-top:20px}label{display:block;font-size:14px;font-weight:600;margin:22px 0 8px}select{width:100%;min-height:50px;background:#222222;border:1px solid #4a4a4a;border-radius:16px;padding:12px;font-size:14px;color:var(--ink)}.booking .button{width:100%;margin-top:12px}.booking-note{display:flex;gap:12px;font-size:13px;background:#2a221c;color:#c4c4c4;padding:16px;border-radius:16px;margin:22px 0}.booking-note p{margin:0;font-size:13px}.booking #booking-status{font-size:12px;line-height:1.7;margin:16px 0 0}.planning-line{border-top:1px solid #343434;padding:18px 0}.planning-line strong{font-size:14px;font-weight:600}.planning-line p{font-size:12px;margin:7px 0 0}.soft-banner{display:flex;gap:16px;align-items:flex-start;background:#2a221c;border-radius:16px;padding:24px;margin-top:24px;color:#c4c4c4}.soft-banner strong{font-size:16px}.soft-banner p{font-size:14px;margin:6px 0 0}dialog{border:1px solid var(--line);border-radius:24px;padding:28px;max-width:500px;width:calc(100% - 32px);color:var(--ink);background:#1a1a1a}dialog::backdrop{background:#19271dcc;backdrop-filter:blur(3px)}dialog h2{margin-top:20px}dialog p{font-size:16px;color:var(--muted);line-height:1.7}dialog .button{width:100%;margin-top:14px}.view-label{font-size:12px;letter-spacing:1.5px;color:var(--muted)}.panel:not([hidden]){animation:enter .4s ease both}.panel:not([hidden]) .stat{animation:enter .45s ease both}.stat:nth-child(2){animation-delay:50ms!important}.stat:nth-child(3){animation-delay:100ms!important}.stat:nth-child(4){animation-delay:150ms!important}dialog[open]{animation:enter .2s ease both}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){header{width:215px;padding:28px 16px}header>strong{font-size:20px}main{margin-left:215px;padding:28px 24px}.card{padding:22px}.grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}.stat{padding:16px}.stat>.icon-box{width:32px;height:32px;top:18px;right:12px}.stat>.icon-box svg{width:18px;height:18px}.hero{padding:28px}.hero-art{width:145px;height:145px}.hero h2{font-size:44px}}
@media(max-width:920px){header{position:relative;width:auto;display:block;padding:18px 24px}header>.muted,.sidebar-story,.sidebar-bottom{display:none}header nav{display:flex;gap:6px;margin-top:16px}header nav a{flex:1;justify-content:center;padding:10px;font-size:13px}header nav a:last-child{display:none}main{margin-left:0}.topline{margin-bottom:26px}.hero{min-height:220px}.grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}}
@media(max-width:650px){header{padding:16px 18px}header>strong{font-size:23px}header nav{gap:4px}header nav a{font-size:12px;padding:10px 5px;gap:5px}header nav i svg{width:17px;height:17px}main{padding:24px 18px}.topline{padding-bottom:18px;margin-bottom:24px}.topline>span:first-child{display:none}h1{font-size:34px}.panel>p:not(.muted){font-size:14px}.hero{padding:24px;min-height:215px}.hero-art{width:100px;height:100px;margin-right:-40px;opacity:.65}.hero-art svg{width:75px;height:75px}.hero-art::before{inset:13px}.hero-art::after{font-size:34px}.hero p{max-width:200px;font-size:13px}.hero h2{font-size:42px}.hero-label{letter-spacing:1px}.hero>div:first-child{z-index:1}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.stat{padding:16px}.stat strong{font-size:30px}.grid{grid-template-columns:1fr;gap:18px}.card{padding:22px}.quick-actions{grid-template-columns:1fr;gap:12px}.quick-action{padding:18px 20px 18px 82px;min-height:100px}.quick-action>.icon-box{position:absolute;left:20px;top:25px}.quick-action strong{margin:0 0 6px}.subheading{align-items:flex-start;flex-direction:column;gap:6px}.subheading h2{font-size:20px}.soft-banner{padding:20px}.preview{margin-top:26px}.action{display:inline-flex}.card ul{font-size:14px}}
@media(max-width:360px){header nav a{font-size:12px;gap:3px}header nav i svg{width:15px;height:15px}.hero-art{display:none}.hero{padding:22px}h1{font-size:31px}.card{padding:18px}.stat{padding:13px}.stat>.icon-box{width:28px;height:28px;right:9px}}
.teacher-section{margin:26px 0}.teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.teacher-card{display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:24px;padding:20px;background:#222222;min-width:0}.teacher-portrait{width:104px;height:118px;border-radius:16px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.teacher-portrait svg{width:36px;height:36px;stroke-width:1.2}.teacher-portrait>span{font-size:12px}.teacher-copy{min-width:0}.teacher-copy h3{margin:8px 0;font-size:16px;overflow-wrap:anywhere}.teacher-copy p{font-size:12px;color:var(--muted);margin:0 0 12px}.teacher-role{font-size:12px;letter-spacing:1.2px;color:var(--muted);font-weight:600}.teacher-next{display:flex;align-items:flex-start;gap:16px;background:#2a221c;border:1px solid #343434;padding:22px;border-radius:16px;margin-top:16px}.teacher-next>div{flex:1;min-width:0}.teacher-next h3{font-size:16px}.teacher-next p{font-size:12px;color:#c4c4c4;margin:6px 0 14px}.teacher-next ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.teacher-next li{border-top:1px solid #343434;padding:12px 0}.teacher-next li strong{font-size:14px;font-weight:600;display:block}.teacher-next li span{display:block;font-size:12px;color:#c4c4c4;margin-top:4px}.teacher-next small{display:block;font-size:12px;color:#c4c4c4;line-height:1.6}.teacher-footnote{font-size:12px;color:var(--muted);margin:12px 0 0;line-height:1.7}
@media(max-width:1200px){.teacher-card{gap:14px;padding:16px}.teacher-portrait{width:78px;height:100px}.teacher-copy h3{font-size:14px}.teacher-role{font-size:12px}.teacher-copy .badge{font-size:12px}}
@media(max-width:650px){.teacher-grid{grid-template-columns:1fr;gap:12px}.teacher-card{gap:18px;padding:18px}.teacher-portrait{width:88px;height:105px}.teacher-copy h3{font-size:15px}.teacher-next{padding:18px;gap:12px}.teacher-next ul{grid-template-columns:1fr;gap:0}.teacher-next>.icon-box{width:32px;height:32px}.teacher-next h3{font-size:15px}.teacher-role{font-size:12px}.teacher-section .subheading{gap:6px}}
.teacher-card:has(.teacher-bio){align-items:flex-start}.teacher-bio{margin:18px 0 0;border-top:1px solid var(--line);padding-top:14px}.teacher-bio dt{font-size:12px;font-weight:600;margin-top:12px}.teacher-bio dt:first-child{margin-top:0}.teacher-bio dd{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:360px){.teacher-card:has(.teacher-bio){flex-direction:column}.teacher-bio dt,.teacher-bio dd{font-size:13px}}
.team-filter{margin:24px 0;max-width:360px}.team-filter label{margin-top:0}.team-filter p{font-size:12px;color:var(--muted);margin:10px 0 0}.directory-grid .teacher-copy h2{font-size:18px;line-height:1.4;margin:8px 0;overflow-wrap:anywhere}.directory-grid .teacher-card{align-items:flex-start}
@media(max-width:920px){header nav{flex-wrap:wrap}header nav a:not([href="#alcance"]){flex:1 1 calc(50% - 6px);font-size:13px;padding:10px;min-height:48px}}
header{overflow-y:auto}header nav{flex-shrink:0}header .sidebar-story{display:none}header .sidebar-bottom{margin-top:28px}.module-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.module-toolbar label{margin-top:0}.module-view input:not([type=checkbox]),.module-view textarea{font:inherit;font-size:14px;width:100%;min-height:50px;background:white;border:1px solid #4a4a4a;border-radius:16px;padding:12px;color:var(--ink)}.module-view input:focus-visible,.module-view textarea:focus-visible{outline:2px solid #d9ad86;outline-offset:2px}.module-view textarea{resize:vertical}.module-view form .button{width:100%;margin-top:18px}.module-view .button{margin-top:12px}.module-view .button:disabled{cursor:default;opacity:.65;transform:none}.module-view .card>h2{margin-top:18px}.form-status{font-size:12px!important;line-height:1.7;color:#c4c4c4!important;margin:14px 0 0!important;overflow-wrap:anywhere}.menu-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:24px;align-items:start}.menu-layout .subheading{margin-top:0}.menu-days{display:grid;gap:12px}.menu-day{display:flex;gap:16px;align-items:center;border:1px solid var(--line);background:#222222;border-radius:16px;padding:22px;min-width:0}.menu-date{border-radius:16px;background:#2a221c;color:#c4c4c4;display:grid;place-items:center;width:48px;height:56px;font-size:23px;font-weight:600;flex-shrink:0}.menu-day>div{flex:1;min-width:0}.menu-day h3{margin:6px 0;font-size:16px;overflow-wrap:anywhere}.menu-day p{font-size:12px;color:var(--muted);margin:0}.menu-day small{font-size:12px;color:var(--muted)}.menu-day>.button{margin:0}.checkline{display:flex;gap:12px;align-items:center;min-height:48px;font-size:14px;font-weight:400;margin:12px 0}.checkline input{width:22px;height:22px;flex-shrink:0;accent-color:#d9ad86}.material-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-size:12px;color:#c4c4c4;margin:24px 0}.material-counts strong{display:block;font-size:30px;font-weight:600;color:var(--ink)}
@media(max-width:920px){header{overflow:visible}header nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}header nav a:not([href="#alcance"]){flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;padding:10px 14px}header .sidebar-bottom{display:none}.menu-layout{grid-template-columns:1fr}.module-toolbar{flex-wrap:wrap}.menu-layout .preparation{max-width:none}}
@media(max-width:650px){.menu-day{padding:16px;gap:12px;flex-wrap:wrap}.menu-day>div{flex-basis:calc(100% - 65px)}.menu-day>.button{width:100%}.module-view .grid{grid-template-columns:1fr}.module-toolbar>div{width:100%}.module-view .card{padding:22px}.material-counts{gap:8px}.module-view h2{font-size:22px}}
.daily-scripture{padding:32px;border:1px solid #343434;border-radius:24px;background:#2a221c}.scripture-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.daily-scripture h2{font-size:30px;letter-spacing:-.9px}.daily-scripture blockquote{font-size:25px;line-height:1.65;letter-spacing:-.4px;margin:20px 0;white-space:pre-line;overflow-wrap:anywhere}.daily-scripture #daily-content p{font-size:15px;color:#c4c4c4;margin:12px 0}.daily-scripture small{display:block;font-size:12px;color:#c4c4c4;white-space:pre-line;overflow-wrap:anywhere}.daily-scripture h3{font-size:18px;margin:14px 0}.scripture-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.scripture-actions .button{background:#222222}.scripture-actions .button:hover{background:#222222}@media(max-width:650px){.daily-scripture{padding:24px}.daily-scripture h2{font-size:26px}.daily-scripture blockquote{font-size:22px}.scripture-heading{align-items:flex-start}.scripture-heading .view-label{font-size:12px}.scripture-actions .button{width:100%}}
.daily-verse-art{margin:20px 0}.daily-verse-art img{display:block;max-width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:16px;margin:auto}.daily-verse-art figcaption{font-size:12px;color:#c4c4c4;margin-top:8px}.shalom-bible-content{--yv-reader-font-size:22px;--yv-reader-line-height:1.7;--yv-reader-max-width:65ch;font-family:"Untitled Serif",Georgia,serif;font-size:22px;line-height:1.7;overflow-wrap:anywhere}.shalom-bible-content table{display:block;max-width:100%;overflow-x:auto}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Identidad visual de la aplicación principal: tema noche y cobre. */
:root{color-scheme:dark;--ink:#f0f0f0;--muted:#c4c4c4;--line:#2e2e2e;--green:#d9ad86;--copper:#d9ad86}
body{background:#1a1a1a;color:var(--ink);font-size:15px}
a{color:#d9ad86}header{border-right:1px solid var(--line)}header>strong{display:block;width:180px;height:84px;background:url(../assets/shalom-logo.png) center/contain no-repeat;font-size:0}header>strong::before{content:none}header nav a{font-weight:600;border:1px solid transparent;border-radius:16px}header nav a[aria-current=page]{background:#2a221c;color:#d9ad86;border-color:#4a4a4a}header nav a:hover{background:#222222}header .muted{color:#a4a09b}.primary{background:#c8956c;border-color:#c8956c;color:#1a1a1a;font-weight:800}.primary:hover{background:#f0d5bd;color:#1a1a1a}.action,.button{border-radius:999px;font-weight:700}.card,.stat,.quick-action,.teacher-card{background:#222222;border-radius:24px}.hero,.daily-scripture,.soft-banner,.teacher-next{background:#2a221c;border-color:#4a4a4a}.hero-label,.hero p,.hero small,.hero-art svg,.soft-banner,.teacher-next p,.teacher-next li span,.teacher-next small,.daily-scripture #daily-content p,.daily-scripture small,.daily-verse-art figcaption{color:#c4c4c4}.icon-box,.badge,.menu-date{background:#2a221c;color:#d9ad86}.hero-art::after{background:#2a221c}h1{font-weight:800}select,.module-view input:not([type=checkbox]),.module-view textarea{background:#1a1a1a;border-color:#4a4a4a;color:#f0f0f0}dialog{background:#222222}dialog::backdrop{background:#000a}.primary:focus-visible{outline-color:#f0d5bd}
.muted{color:var(--muted)}
.meeting-summary{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:24px 0;color:var(--muted);font-size:13px}.meeting-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.meeting-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.meeting-fields>div{min-width:0}.meeting-list{padding-left:22px;font-size:14px}.meeting-list li{padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.meeting-list .button{margin:8px 0 0 8px;min-height:44px;padding:8px 14px}.meeting-preview-content{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 Inter,Arial,sans-serif;max-height:60vh;overflow:auto}#meeting-dialog{max-width:720px}#meeting-file{font-size:13px}#meeting-file::file-selector-button{background:#c8956c;color:#1a1a1a;border:0;border-radius:24px;padding:10px;margin-right:10px;cursor:pointer}#reuniones textarea:focus-visible,#reuniones input:focus-visible{outline:2px solid #d9ad86;outline-offset:2px}@media(max-width:650px){.meeting-tabs{display:grid;grid-template-columns:1fr}.meeting-tabs .button{width:100%}.meeting-fields{grid-template-columns:1fr}.meeting-list .button{margin-left:0;margin-right:8px}#reuniones .meeting-list li{display:flex;flex-wrap:wrap;gap:8px;align-items:center}}


.care-directory{margin:22px 0}.care-directory .card h3{margin-top:18px;font-size:19px}.care-directory .button{margin-top:12px;width:100%}.care-directory .button[aria-pressed=true]{border-color:#c8956c;background:#2a221c}.care-request-card{margin:16px 0}.care-request-card h3{font-size:20px;margin-top:18px}.care-request-card .button{margin:12px 12px 0 0}.care-request-card a.button{max-width:100%;overflow-wrap:anywhere;text-align:center}#care-filter{max-width:360px}#acompanamiento .checkline{align-items:flex-start}#acompanamiento .checkline input{margin-top:4px}@media(max-width:650px){.care-request-card .button{width:100%;margin-right:0}.care-directory .card{padding:22px}}


/* SPARK: las vistas locales de Kids no se desplazan lateralmente en móvil. */
@media(max-width:920px){
  body[data-shalom-space="kids"] header nav {
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;overflow:visible;scroll-snap-type:none;padding:0;align-items:stretch;
  }
  body[data-shalom-space="kids"] header nav a,
  body[data-shalom-space="kids"] header nav a:not([href="#alcance"]),
  body[data-shalom-space="kids"] header nav button {
    flex:initial;min-width:0;min-height:48px;white-space:normal;overflow-wrap:break-word;
    padding:10px;font-size:.875rem;line-height:1.35;text-align:center;justify-content:center;
  }
}
@media(max-width:650px){
  body[data-shalom-space="kids"] header nav{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:360px){
  body[data-shalom-space="kids"] header nav{gap:6px}
  body[data-shalom-space="kids"] header nav a,
  body[data-shalom-space="kids"] header nav a:not([href="#alcance"]){font-size:.875rem;gap:6px}
}

/* Celular (pág. 14 del manual): 18 vistas no caben como rejilla; un botón «Menú» las abre en una sola columna. Desde 600 px se ven siempre. */
.kids-menu-toggle{display:none}
@media(max-width:599px){
  body[data-shalom-space="kids"] .kids-menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:16px;padding:10px 16px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font-weight:700}
  body[data-shalom-space="kids"] header nav{display:none;grid-template-columns:minmax(0,1fr);margin-top:8px}
  body[data-shalom-space="kids"] header nav.abierto{display:grid}
  body[data-shalom-space="kids"] header nav a,
  body[data-shalom-space="kids"] header nav a:not([href="#alcance"]),
  body[data-shalom-space="kids"] header nav button{justify-content:flex-start;text-align:left;font-size:1rem}
}

/* Rol de clases: rol del domingo con permutas y resumen de asistencia (mismo cálculo que Shalom Kids). */
.rol-grupo h3{font-size:18px;margin:0 0 4px}.rol-grupo>.muted{font-size:14px;margin:0}
.rol-turno{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.rol-turno strong{display:block;font-size:14px}
.rol-turno ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}.rol-turno li{font-size:16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rol-turno p{font-size:14px;margin:6px 0 0}
.rol-resumen{width:100%;border-collapse:collapse;font-size:14px}.rol-resumen th,.rol-resumen td{text-align:left;padding:10px 8px 10px 0;border-top:1px solid var(--line);vertical-align:top}
.rol-resumen th{border-top:0;font-weight:600;color:var(--muted)}.rol-resumen strong{font-size:16px}.rol-resumen small{display:block;font-size:12px;color:var(--muted)}
#rol .grid{align-items:start}#rol .preparation select,#rol .preparation input:not([type=checkbox]){width:100%}

/* Menú agrupado por público (shalom-menu.js): Docentes, Coordinación Kids, Comunidad y Más. */
body[data-shalom-space="kids"] header nav .nav-grupo{grid-column:1/-1;margin:16px 0 0;padding:0 16px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
/* El menú agrupado es más alto que la pantalla: sin esto la columna aplasta el logo (font-size 0) a 0 px. */
header>*{flex-shrink:0}

/* Perfil de ejemplo: docente o administración */
.kids-oculta{display:none!important}
.perfil-sesion{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:-12px 0 24px;font-size:14px;color:var(--muted)}.perfil-sesion strong{color:var(--ink)}.perfil-sesion .button{width:auto;margin:0;min-height:44px}.perfil-sesion [role=status]{flex-basis:100%}.perfil-sesion [role=status]:empty{display:none}.perfil-opciones{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}.perfil-opcion{display:grid;gap:4px;width:100%;min-height:56px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--ink);text-align:left;text-decoration:none;font:inherit}.perfil-opcion strong{font-size:16px}.perfil-opcion span{font-size:14px;color:var(--muted)}.perfil-opcion:hover{border-color:var(--copper)}.perfil-opcion[aria-current=true]{border:2px solid var(--copper)}.perfil-nota{font-size:14px!important;margin-top:16px}
.rol-resumen small{display:block;color:var(--muted)}
.rol-resumen select,.rol-resumen input{min-height:44px}

/* Asistencia de punta a punta (Recepción, Mi grupo hoy, Mis hijos): el color nunca va solo, siempre hay ícono, título y frase. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ka-modos{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.ka-modos .button{min-height:44px}.ka-modos .button[aria-pressed=true]{background:#8f360c;color:#fff!important;border-color:#8f360c}
.ka-acciones{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.ka-acciones .button{min-height:44px}
.ka-lista{list-style:none;margin:0;padding:0}.ka-lista li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.ka-lista li>div{min-width:0}.ka-lista .button{min-height:44px;flex-shrink:0}
.ka-nino{margin:0 0 8px}.ka-nino small,.ka-lista small{display:block;color:var(--muted);font-size:13px}
.ka-atencion{border-color:#e0a030;color:inherit}
.ka-enlace{background:none;border:0;padding:0;min-height:44px;color:inherit;text-decoration:underline;font:inherit}
.ka-res{border:1px solid var(--line);border-left-width:6px;border-radius:16px;padding:16px}.ka-res h2{margin:0 0 6px}.ka-ok{border-left-color:#2f8f6b}.ka-aviso{border-left-color:#d9822b}.ka-error{border-left-color:#c8553d}
.ka-datos{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:8px 0}.ka-datos dt{color:var(--muted)}.ka-datos dd{margin:0}
.ka-codigo{border:1px dashed var(--line);border-radius:16px;padding:12px 16px;margin:12px 0}.ka-codigo span{display:block;color:var(--muted);font-size:13px}.ka-codigo strong{font-size:32px;letter-spacing:6px}.ka-codigo small{display:block;color:var(--muted)}
.ka-nota{border-left:4px solid #e0a030;padding:8px 12px;margin:8px 0}
.ka-vivo{margin-bottom:12px}.ka-stats{grid-template-columns:repeat(3,1fr)!important;margin:8px 0!important}.ka-stats .stat{padding:12px}
.ka-buscar{margin:16px 0}.ka-estado{max-width:640px}
.ka-edad{display:flex;gap:8px;align-items:center}.ka-edad input{max-width:90px;text-align:center}
.ka-pasos{list-style:none;padding:0;margin:12px 0}.ka-pasos li{padding:8px 0 8px 28px;position:relative;border-left:2px solid var(--line);margin-left:8px}.ka-pasos li::before{content:"";position:absolute;left:-7px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--line)}.ka-pasos li.hecho::before{background:#2f8f6b}.ka-pasos small{display:block;color:var(--muted)}
.ka-qr{width:160px;height:160px;margin:8px 0;background:repeating-conic-gradient(var(--ink) 0 25%,transparent 0 50%) 0 0/20px 20px;border:8px solid #fff;border-radius:16px}
.ka-decisiones{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.ka-decisiones h2{font-size:18px}
.ka-dialogo{max-width:min(520px,calc(100vw - 32px));border:1px solid var(--line);border-radius:24px;background:var(--bg,#1a1a1a);color:var(--ink);padding:24px}.ka-dialogo::backdrop{background:rgba(0,0,0,.6)}.ka-dialogo input:not([type=checkbox]):not([type=radio]),.ka-dialogo select{width:100%;min-height:44px}
@media(max-width:767px){.ka-lista li{flex-wrap:wrap}.ka-lista .button{width:100%}.ka-rec{grid-template-columns:1fr!important}}
/* Opinión después de la entrega: opciones en fila que bajan de línea en celular. */
.ka-chips{display:flex;flex-wrap:wrap;gap:8px 16px}.ka-opinion textarea{width:100%;min-height:88px}
.ka-chips input[type=radio]{width:20px;height:20px;min-height:0;min-width:0;flex:none;margin:0;padding:0}.ka-chips .checkline{display:inline-flex;align-items:center;gap:8px}
/* En celular, las tablas de operación se leen como tarjetas con su etiqueta. */
@media(max-width:599px){
  main,.panel,.grid>*{min-width:0}
  .rol-resumen{display:block;width:100%;max-width:100%;border:0}
  .rol-resumen thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .rol-resumen tbody{display:block;width:100%}
  .rol-resumen tr{display:block;border:1px solid var(--line);border-radius:16px;margin-bottom:16px;padding:12px}
  .rol-resumen td{display:block;min-width:0;width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere;border:0;padding:8px 0}
  .rol-resumen td[data-column]::before{content:attr(data-column);display:block;font-weight:700;font-size:14px;color:var(--muted);margin-bottom:4px}
  .rol-resumen input,.rol-resumen select,.rol-resumen button{max-width:100%;min-width:0}
}
