:root{--public-ink:#18343e;--public-muted:#637981;--public-accent:#2b6a78;--public-bg:#f4f7f8;--public-line:#dbe6e9;--public-radius:16px}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--public-bg);color:var(--public-ink);line-height:1.5;padding-left:232px}
[hidden]{display:none!important}
a,button{-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #1685ac;outline-offset:4px}
.skip-link{position:absolute;left:250px;top:-80px;z-index:2000;background:white;color:var(--public-accent);padding:12px;border-radius:8px}
.skip-link:focus{top:12px}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.ui-icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.public-header{background:#fff;border-bottom:1px solid var(--public-line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 36px;position:sticky;top:0;z-index:20}
.public-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--public-ink);font-size:19px;font-weight:700;line-height:1.3}
.public-brand small{display:block;font-size:12px;font-weight:400;color:var(--public-muted);margin-top:3px}
.brand-mark{width:42px;height:42px;background:#eaf3f5;border:1px solid #c5dce1;border-radius:12px;display:grid;place-items:center;font-size:14px;letter-spacing:.05em;color:var(--public-accent)}
.connection-indicator{display:flex;align-items:center;gap:7px;font-size:12px;color:#466f59;flex-shrink:0}
.connection-dot{height:7px;width:7px;border-radius:50%;background:#4a8d66}
.connection-indicator.is-offline{color:#855921}.is-offline .connection-dot{background:#b88338}
.public-nav{position:fixed;left:0;top:0;bottom:0;width:232px;background:#183c44;padding:32px 16px;display:flex;flex-direction:column;gap:5px;z-index:30;overflow-y:auto}
.sidebar-label{padding:0 12px 28px;color:#c3dce0;font-size:12px;line-height:1.5;max-width:170px}
.nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:12px;color:#d7e7ea;text-decoration:none;font-size:13px;border:0;background:transparent;border-radius:10px;text-align:left;flex-shrink:0}
.nav-item .ui-icon{width:21px;height:21px;stroke-width:1.7}
.nav-item:hover{background:#264d56;color:#fff}.nav-item.active{background:#e5f1f4;color:#1b5360;font-weight:650}
.nav-short,.nav-more{display:none}
.sidebar-note{margin-top:auto;padding:32px 12px 0;font-size:12px;color:#a8c7ce;line-height:1.7}
#main-content{padding:28px 36px 40px;max-width:1432px;margin:auto;min-height:calc(100vh - 80px)}
.offline-note{border:1px solid #e5d3b3;background:#fff7e9;color:#805c29;border-radius:10px;padding:12px 16px;font-size:13px;margin:0 0 20px}
.home-welcome{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:8px 0 24px}
.eyebrow{color:var(--public-accent);font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:650;margin:0 0 9px}
.home-welcome h1{font-size:clamp(28px,3.3vw,40px);letter-spacing:-.04em;line-height:1.15;margin:0 0 12px;font-weight:700}
.home-intro{font-size:15px;max-width:540px;color:var(--public-muted);margin:0}
.home-date{border-left:1px solid var(--public-line);padding-left:24px;flex-shrink:0}.home-date>span{display:block;font-size:12px;color:var(--public-muted);margin-bottom:4px}.home-date time{font-size:14px;font-weight:600}
.week-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#eaf2f4;border:1px solid #d5e4e8;border-radius:12px;padding:12px 16px;margin-bottom:24px;font-size:12px;color:#476c76}
.week-summary>div{display:flex;align-items:center;gap:8px}.week-dot{height:6px;width:6px;border-radius:50%;background:var(--public-accent)}.week-summary strong{font-weight:600;color:#2b5560}.week-caption{margin-left:auto;font-size:11px}
.announcement-feature{display:flex;align-items:center;gap:18px;text-decoration:none;color:#fff;background:#245865;border-radius:var(--public-radius);padding:24px;margin-bottom:32px;border:1px solid #245865;transition:background .15s}
.announcement-feature:hover{background:#1b4e5b}.announcement-feature .eyebrow{color:#bedce3;margin-bottom:5px;font-size:10px}.announcement-feature h2{font-size:20px;line-height:1.3;margin:0 0 6px;letter-spacing:-.02em}.announcement-feature p{font-size:13px;color:#d1e5e9;margin:0}.feature-icon{background:#3a6b77;border:1px solid #588692;border-radius:13px;width:48px;height:48px;display:grid;place-items:center;flex-shrink:0}.feature-arrow{margin-left:auto;color:#c3dfe5}
.home-group{margin-bottom:28px}.group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.group-heading h2{margin:0;font-size:19px;font-weight:650;letter-spacing:-.02em}.group-heading>span{font-size:12px;color:var(--public-muted)}
.public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.public-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid var(--public-line);border-radius:var(--public-radius);padding:22px;text-decoration:none;color:var(--public-ink);transition:border-color .15s,box-shadow .15s}
.public-card:hover{border-color:#8aafb9;box-shadow:0 4px 16px #173d460b}.card-icon{background:#eff5f6;border-radius:12px;color:var(--public-accent);width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}.card-copy{display:flex;flex-direction:column;min-width:0;align-self:stretch}.card-tag{font-size:10px;color:#396a75;margin-bottom:6px;font-weight:600}.public-card h3{font-size:16px;font-weight:650;margin:0 0 8px;line-height:1.3;letter-spacing:-.01em}.public-card p{font-size:13px;color:var(--public-muted);margin:0 0 18px;line-height:1.65}.card-action{display:flex;align-items:center;gap:8px;color:var(--public-accent);font-size:12px;font-weight:650;margin-top:auto}.card-action .ui-icon{width:16px;height:16px}
.service-grid .public-card{flex-direction:column;gap:14px}.service-grid .card-copy{flex:1}
.home-footnote{font-size:12px;color:var(--public-muted);border-top:1px solid var(--public-line);padding-top:20px;max-width:100%;line-height:1.8}
.section-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:13px;color:var(--public-muted)}
.back-button,.refresh-button{display:flex;align-items:center;gap:5px;background:#fff;color:var(--public-accent);border:1px solid var(--public-line);border-radius:8px;padding:8px 10px;min-height:40px;font-size:12px}.back-button .ui-icon,.refresh-button .ui-icon{width:17px;height:17px}.refresh-button{margin-left:auto}.refresh-button:disabled{opacity:.5;cursor:wait}.toolbar-divider{color:#a5bbc1}
.block-loader{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:64px 12px;color:var(--public-muted);font-size:14px}.block-loader p{margin:0}.spinner{width:28px;height:28px;border:3px solid #dce8eb;border-top-color:var(--public-accent);border-radius:50%;animation:public-spin 1s linear infinite}@keyframes public-spin{to{transform:rotate(360deg)}}
.block-error,.block-empty{background:#fff;border:1px solid var(--public-line);border-radius:14px;padding:32px;text-align:center}.block-error h2{font-size:20px;margin:0 0 12px}.block-error p,.block-empty{font-size:14px;color:var(--public-muted)}.block-error button{background:var(--public-accent);color:#fff;border:0;border-radius:9px;padding:10px 16px;margin-top:8px;min-height:44px}
/* Ajustes de presentación limitados al contenido, conservando los colores de las asignaciones. */
#block-content> :is(.reunion-entre-semana,.reunion-container,.acomodadores-container,.proximos-eventos,.no-tocar-container,.grupos-container,.territorio-view){padding:0;max-width:100%}
#block-content :is(.reunion-entre-semana>h3,.reunion-container>h2,.acomodadores-container>h2,.proximos-eventos>h2,.no-tocar-container>h2){color:var(--public-ink);font-size:clamp(22px,3vw,28px);letter-spacing:-.02em;margin-top:0;margin-bottom:22px}
#block-content .table-responsive{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
#block-content :is(.evento-card,.semana,.grupo-card){border-radius:14px;box-shadow:0 2px 6px #173d4608}
#block-content .semana .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr))}
.more-dialog{border:1px solid var(--public-line);border-radius:20px;padding:24px;width:min(480px,calc(100% - 32px));max-height:85dvh;color:var(--public-ink);background:#fff;box-shadow:0 16px 64px #10262e30}.more-dialog::backdrop{background:#102c386b;backdrop-filter:blur(3px)}.more-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.more-dialog-heading h2{font-size:21px;margin:0}.more-dialog-heading .eyebrow{margin-bottom:6px}.close-button{display:grid;place-items:center;background:#eff5f6;border:0;color:var(--public-accent);border-radius:10px;width:40px;height:40px;flex-shrink:0}.close-button .ui-icon{width:20px;height:20px}.more-links{display:grid;gap:4px}.more-links a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--public-ink);padding:13px 10px;border-radius:9px;font-size:14px}.more-links a:hover,.more-links a.active{background:#eaf3f5;color:var(--public-accent)}.more-links a>.ui-icon:last-child{width:16px;margin-left:auto;color:#7a959e}
.noscript-note{padding:16px;font-size:13px}
@media(max-width:1100px){body{padding-left:204px}.public-nav{width:204px;padding:28px 12px}.public-header{padding:16px 24px}#main-content{padding:24px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid .public-card{flex-direction:row}.week-caption{margin-left:0}.skip-link{left:220px}}
@media(max-width:760px){
 body{padding-left:0;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.public-header{padding:14px 18px}.public-brand{font-size:17px;gap:10px}.public-brand small{font-size:11px}.brand-mark{width:38px;height:38px;font-size:12px}.connection-indicator{font-size:10px;gap:5px;max-width:95px}.connection-dot{flex-shrink:0}
 .public-nav{width:auto;top:auto;right:0;bottom:0;flex-direction:row;gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--public-line);box-shadow:0 -4px 20px #173d4606;overflow:visible;justify-content:space-between}.sidebar-label,.sidebar-note,.nav-secondary,.nav-long{display:none}.nav-short,.nav-more{display:flex}.nav-item{flex:1;min-width:0;min-height:52px;padding:7px 2px;flex-direction:column;gap:4px;justify-content:center;font-size:10px;color:#69818a;border-radius:10px}.nav-item .ui-icon{width:21px;height:21px}.nav-item.active{color:#245e6c;background:#eaf3f5}.nav-item:hover{background:#f0f5f6;color:#245e6c}
 #main-content{padding:22px 18px 28px;min-height:calc(100vh - 150px)}.skip-link{left:12px}.home-welcome{margin:4px 0 20px;gap:16px}.home-welcome h1{font-size:32px}.home-intro{font-size:14px}.home-date{display:none}.week-summary{gap:8px 12px;padding:11px 13px;margin-bottom:20px}.week-caption{width:100%;margin-left:14px}.announcement-feature{padding:18px;gap:14px;margin-bottom:26px}.announcement-feature h2{font-size:18px}.announcement-feature p{font-size:12px}.feature-icon{width:42px;height:42px}.feature-arrow .ui-icon{width:20px}.group-heading h2{font-size:18px}.group-heading>span{font-size:11px}.public-grid{gap:12px}.public-card{padding:18px;gap:12px}.card-icon{width:40px;height:40px}.public-card h3{font-size:15px}.public-card p{font-size:12px}.home-footnote{font-size:11px}.section-toolbar{font-size:12px;gap:7px;margin-bottom:18px}.refresh-button{padding:8px}.refresh-button span{display:none}.section-toolbar #section-label{min-width:0;overflow-wrap:anywhere}.more-dialog{padding:20px}
}
@media(max-width:540px){.public-grid,.service-grid{grid-template-columns:1fr}.group-heading>span{display:none}.public-card{padding:19px 18px}.public-card p{margin-bottom:12px}.card-tag{margin-bottom:5px}.feature-arrow{display:none}.announcement-feature{gap:13px}.home-welcome h1{font-size:31px}.announcement-feature h2{font-size:17px}.public-header{gap:8px}.public-brand small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.public-card,.announcement-feature{transition:none}.spinner{animation:none}}

/* Identidad de cada sección: acentos suaves y texto con contraste. */
[data-block="reunion-entre-semana"]{--section-accent:#2e678f;--section-soft:#edf4fb;--section-border:#c5d9eb;--section-nav-icon:#afd4f0}
[data-block="reunion-fin-semana"]{--section-accent:#70538d;--section-soft:#f4effa;--section-border:#dacde9;--section-nav-icon:#d8c0ef}
[data-block="acomodadores"]{--section-accent:#8a5c12;--section-soft:#fbf3e3;--section-border:#ead8b0;--section-nav-icon:#ecd093}
[data-block="oradores"]{--section-accent:#93526d;--section-soft:#faeff4;--section-border:#e8cbd7;--section-nav-icon:#edbfd2}
[data-block="anuncios"]{--section-accent:#805421;--section-soft:#fcf4e7;--section-border:#ebd6b6;--section-nav-icon:#edd2a4}
[data-block="territorio"]{--section-accent:#27766e;--section-soft:#ecf7f4;--section-border:#bbddd7;--section-nav-icon:#a5dcd2}
[data-block="grupos-servicio"]{--section-accent:#4b733b;--section-soft:#f0f6eb;--section-border:#cfdfc3;--section-nav-icon:#c5dda9}
[data-block="no-tocar"]{--section-accent:#a04545;--section-soft:#fbefee;--section-border:#e8c7c5;--section-nav-icon:#efbfbc}
.public-card{border-inline-start:3px solid var(--section-border,var(--public-line))}
.public-card:hover{border-color:var(--section-accent,#8aafb9)}
.public-card .card-icon{background:var(--section-soft,#eff5f6);color:var(--section-accent,var(--public-accent))}
.public-card :is(.card-action,.card-tag){color:var(--section-accent,var(--public-accent))}
.public-nav .nav-item[data-block]>.ui-icon{color:var(--section-nav-icon,currentColor)}
.public-nav .nav-item.active{background:var(--section-soft,#e5f1f4);color:var(--section-accent,#1b5360)}
.public-nav .nav-item.active>.ui-icon{color:var(--section-accent,#1b5360)}
.more-links [data-block]>.ui-icon:first-child{color:var(--section-accent,var(--public-accent))}
.more-links a.active,.more-links a:hover{background:var(--section-soft,#eaf3f5);color:var(--section-accent,var(--public-accent))}
.announcement-feature{background:#805421;border-color:#805421}
.announcement-feature:hover{background:#704718}
.announcement-feature .feature-icon{background:#966a37;border-color:#ba9261}
.announcement-feature .eyebrow{color:#f3ddbd}
.announcement-feature p,.announcement-feature .feature-arrow{color:#f7e8d2}
@media(max-width:760px){.public-nav .nav-item[data-block]>.ui-icon{color:var(--section-accent,currentColor)}}
