/* Legibilidad y acceso móvil V4.2: mantiene la paleta sakura y mejora contraste y tamaño. */
:root { --ink:#26232a; --muted:#62555f; --rose:#913b5f; --line:#e3d2d9; --blue:#3f5f9f; --amber:#825515; }
html { -webkit-text-size-adjust:100%; }
body { font-size:17px; line-height:1.65; }
.small, .rowline .sub, .committee p, .event p, .taskitem p, .subtitle { font-size:clamp(15px,1.05vw,17px);line-height:1.55; }
.tiny, .role .tiny, .footer, .login-foot, .stat .caption, .bottomline, .muted-tag { font-size:14px;line-height:1.5; }
.caps { font-size:13px;letter-spacing:.12em; }
button, input, textarea, select { font-size:16px; }
.btn, .btn.sm, .tab { font-size:15px;min-height:44px;padding:11px 15px; }
.btn:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, .role:focus-visible, .tab:focus-visible {outline:3px solid #995473;outline-offset:3px;}
.role {min-height:122px; padding:16px 11px;}
.role strong {font-size:17px;}
.role .tiny {font-size:14px;}
.brand strong {font-size:17px;}
.brand small {font-size:14px;}
.rolebadge {font-size:14px;}
.save-indicator {font-size:14px;}
.login-card {width:min(100%,580px);padding:34px 34px;}
.login-card > p {font-size:17px;}
.login-card h1 {font-size:clamp(34px,4vw,44px);line-height:1.16;}
.login-form label {font-size:16px;}
.login-form input {font-size:17px;min-height:48px;}
.datepill {font-size:15px;line-height:1.5;padding:9px 15px;white-space:normal;}
.hero h1 {font-size:clamp(32px,4vw,46px);line-height:1.17;}
.hero .subtitle {font-size:17px;color:#564754;}
.hero .details span {font-size:15px;color:#4b3846;padding:8px 13px;}
.sectionhead h2 {font-size:clamp(24px,2.4vw,30px);line-height:1.2;}
.sectionhead h3, .panel h3,.detail-columns h3{font-size:21px;line-height:1.3;}
.rowline .title {font-size:16px;line-height:1.4;}
.rowline .sub{font-size:14px;}
.stat .small {font-size:15px;}
.stat .num {font-size:clamp(31px,3vw,40px);}
.stat .caption {font-size:14px;}
.committee h3 {font-size:21px;line-height:1.35;}
.committee p {font-size:16px;}
.committee .bottomline {font-size:14px;}
.detail-top h2 {font-size:26px;}
.taskitem strong {font-size:17px;line-height:1.45;}
.taskitem p {font-size:15px;line-height:1.5;color:#554956;}
.taskitem .controls .state-label, .taskitem .controls select {font-size:15px;}
.taskitem .controls select {min-height:44px;}
.task-status-hint {font-size:15px;}
.check {width:24px;height:24px;}
.confirmitem strong.small {font-size:16px;}
.confirmitem .tiny {font-size:14px;}
.chip {font-size:14px;line-height:1.4;padding:7px 10px;}
.eventtime {font-size:16px;}
.event h3 {font-size:19px;}
.event p {font-size:16px;}
.banner-info, .empty {font-size:15px;}
.save-message strong {font-size:16px;}
.save-message span {font-size:14px;}
.field label {font-size:15px;}
.field small {font-size:14px;}
.dialog-head h2 {font-size:23px;}
/* Contador y resumen, visibles ANTES de iniciar sesión */
.public-overview {border:1px solid #e8cdd8;background:#fffafb;border-radius:19px;margin:16px 0 20px;padding:18px 19px;text-align:left;box-shadow:0 7px 24px #6c37500a;}
.public-overview h2{font-size:19px;line-height:1.35;margin:0 0 12px;text-align:center;}
.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:16px;}
.countdown-grid>div{background:#fff;border:1px solid #eddbe2;border-radius:12px;padding:10px 5px;text-align:center;min-width:0;}
.countdown-grid strong{display:block;color:#833357;font-size:clamp(24px,4vw,35px);line-height:1.25;font-variant-numeric:tabular-nums;}
.countdown-grid span{display:block;color:#574650;font-size:13px;}
.public-percent-line{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;}
.public-percent-line span{font-size:22px;font-weight:800;color:#85395c;white-space:nowrap;}
.public-progress{height:14px;background:#eadce3;border-radius:999px;overflow:hidden;margin:9px 0 9px;}
.public-progress>div{height:100%;width:0%;background:linear-gradient(90deg,#c4799b,#8c395d);border-radius:999px;transition:width .35s ease;}
.public-progress-note{font-size:15px;color:#544650;margin:4px 0 0;}
.public-safe-note{font-size:13px;color:#665863;margin:12px 0 0;}
@media(max-width:720px){
 body{font-size:17px;}
 .login{padding:14px;}
 .login-card{padding:25px 18px;}
 .login-card h1{font-size:35px;}
 .top-inner{gap:9px;}
 .brand strong{font-size:15px;}
 .brand small{font-size:13px;}
 .nav {gap:2px;}
 .tab{font-size:15px;padding:12px 10px;min-height:48px;}
 .app-body {padding:18px 14px 35px;}
 .hero{min-height:265px;}
 .hero-copy{padding:24px 17px;}
 .hero h1{font-size:32px;}
 .hero .subtitle{font-size:16px;}
 .hero .details span{font-size:14px;}
 .stat{padding:17px;min-height:121px;}
 .stat .num{font-size:32px;}
 .panel,.detail{padding:17px;}
 .rowline{align-items:flex-start;}
 .rowline .title{font-size:16px;}
 .rowline .mini{width:85px;flex:0 0 85px;}
 .committee{padding:21px;min-height:185px;}
 .taskitem{gap:12px;padding-top:17px;padding-bottom:17px;}
 .taskitem .controls{margin-left:36px;}
 .taskitem .controls .state-label{font-size:14px;}
 .taskitem .controls select{font-size:15px;}
 .event{grid-template-columns:93px minmax(0,1fr);gap:11px;padding:18px 12px;}
 .eventtime{font-size:15px;}
 .save-message strong{font-size:14px;}
 .save-message span{font-size:12px;}
 .admin-save-bar .btn{font-size:14px;min-height:44px;}
 .public-overview{padding:15px 12px;}
 .public-overview h2{font-size:18px;}
 .countdown-grid{gap:6px;}
 .countdown-grid strong{font-size:25px;}
 .countdown-grid span{font-size:12px;}
 .public-percent-line{font-size:15px;}
}
@media(max-width:370px){.countdown-grid strong{font-size:22px}.login-card{padding:21px 14px}.top-actions .btn{padding:9px 9px}.tab{font-size:14px}}
@media(prefers-reduced-motion:reduce){.public-progress>div{transition:none}}

.datepill{display:block;max-width:100%;}
.datepill strong,.datepill span{display:block}
.datepill span{font-size:14px;font-weight:600;margin-top:2px}
