:root{--turquoise:#79c6c5;--ink:#102f35;--muted:#45646a;--paper:#fbfdfb;--line:#bad9d5;--green:#17633f;--orange:#e85c16;--danger:#9f2f2f;--shadow:0 16px 45px rgba(14,56,61,.14);--portal-max:1080px}
/* ANCHO RESPONSIVO: centra el portal y evita que sus rejillas desplacen la página. */
*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;background:#e8f4f2;color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}[hidden]{display:none!important}.demo-bar{background:#0d353a;color:#fff;text-align:center;padding:8px 16px;font-size:.86rem}.portal-head{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px max(18px,calc((100% - var(--portal-max))/2));background:var(--turquoise);border-bottom:1px solid rgba(16,47,53,.15)}.brand,.user-chip{display:flex;align-items:center;gap:10px;min-width:0}.brand{color:var(--ink);text-decoration:none;font:1.35rem Georgia,serif}.brand>span,.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--orange);font-weight:800}.avatar{width:38px;height:38px;background:var(--green);border:0;color:#fff}.portal-wrap{width:min(100%,var(--portal-max));max-width:100%;margin-inline:auto;padding:26px 20px 60px}.progress-card,.content-card,.side-nav{background:#fff;border-radius:20px;box-shadow:0 8px 25px rgba(16,47,53,.08)}.progress-card{width:100%;padding:20px;margin-bottom:22px}.progress-top{display:flex;justify-content:space-between;gap:15px;align-items:center}.progress-top h1{margin:0;font:700 clamp(1.5rem,3vw,2rem) Georgia,serif}.eyebrow{margin:0 0 6px;color:#9b3b0d;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em}.status-pill{padding:6px 11px;border-radius:999px;background:#fff2dc;color:#764600;font-weight:800}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:0;margin:18px 0 0;list-style:none}.steps li{text-align:center;border-top:3px solid #d5e4e1;padding-top:8px;color:#708286;font-size:.8rem;font-weight:700}.steps li.done{border-color:var(--green);color:var(--green)}.steps li.current{border-color:var(--orange);color:var(--ink)}.portal-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;width:100%;min-width:0}.portal-content,.content-card{min-width:0}.side-nav{height:max-content;padding:10px;position:sticky;top:18px}.side-nav button{width:100%;border:0;background:transparent;border-radius:11px;padding:12px;text-align:left;color:var(--muted);font-weight:750}.side-nav button.active{background:#e4f2ed;color:var(--green)}.save-state{text-align:right;color:var(--muted);font-size:.84rem;margin:0 5px 7px}.content-card{width:100%;padding:clamp(20px,4vw,34px)}h2{font:700 1.8rem Georgia,serif;margin:0 0 8px}h3{margin-bottom:8px}.subtle,.help{color:var(--muted)}.help{font-size:.8rem}.back-button{border:0;background:transparent;color:var(--green);padding:0 0 18px;text-decoration:underline;font-weight:700}.btn{border:0;border-radius:12px;padding:11px 17px;min-height:44px;font-weight:750}.btn-primary{background:var(--green);color:#fff}.btn-ghost{background:rgba(255,255,255,.58);border:1px solid rgba(16,47,53,.25);color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}fieldset{min-width:0;border:0;padding:0;margin:22px 0}legend,label{font-weight:750;margin-bottom:8px}.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.option-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.option-grid label{min-width:0;margin:0}.option-grid input{position:absolute;opacity:0}.option-grid label>span{display:block;min-width:0;border:1px solid var(--line);padding:13px;border-radius:13px;height:100%;overflow-wrap:anywhere}.option-grid input:checked+span{border:2px solid var(--orange);background:#fff7ef}.option-grid small{display:block;color:var(--muted);margin-top:3px}.review-box{display:flex;justify-content:space-between;gap:15px;padding:17px;border:1px solid var(--line);background:#f2f8f6;border-radius:15px}.review-box p{margin:3px 0 0}.email-gate,.state-panel,.notice{border-left:4px solid var(--orange);background:#fff7ef;padding:15px;border-radius:11px;margin:18px 0}.email-gate.verified{border-color:var(--green);background:#edf7f3}.email-gate p{margin:5px 0 10px}.checks{display:grid;gap:10px;margin:18px 0}.checks label,.check{background:#f7faf9;padding:11px;border-radius:10px}.checks input,.check input{width:auto}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.field-message{color:var(--danger);font-weight:650}.demo-controls{margin-top:25px;border:1px dashed #a57936;background:#fff9ed;border-radius:14px;padding:15px}.demo-controls button{border:1px solid #b89158;background:#fff;border-radius:9px;padding:8px}.attachment-list{padding-left:20px}.attachment-list button{margin-left:10px}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document{min-width:0;border:1px solid var(--line);border-radius:14px;padding:16px}.locked{padding:18px;background:#f1f4f3;color:var(--muted);border-radius:12px}.credential{max-width:520px;background:linear-gradient(135deg,#0f5037,#197d50);color:#fff;padding:24px;border-radius:20px;margin:22px 0}.credential-body{display:flex;align-items:center;gap:16px;margin-top:22px}.credential-photo{width:80px;height:80px;border-radius:50%;background:#dcedea;color:var(--green);display:grid;place-items:center;font-size:2rem;font-weight:800;overflow:hidden}.credential-photo img{width:100%;height:100%;object-fit:cover}input,select,textarea{width:100%;max-width:100%;border:1px solid #9fbfbb;border-radius:10px;background:#fff;padding:11px;min-height:44px}textarea{min-height:90px;resize:vertical}.agenda-tabs{display:flex;gap:6px;margin:20px 0}.agenda-tabs button{border:1px solid var(--line);background:#fff;padding:9px 16px;border-radius:999px}.agenda-tabs button.active{background:var(--green);color:#fff}.agenda-form{min-width:0;border:1px solid var(--line);background:#f7faf9;padding:18px;border-radius:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;min-width:0;gap:5px}.form-grid .wide{grid-column:1/-1}.agenda-item{border-left:4px solid var(--green);background:#fff;border-radius:12px;padding:14px;margin:12px 0;box-shadow:0 3px 12px rgba(16,47,53,.08)}.agenda-item.official{border-color:var(--orange);background:#fff8f1}.agenda-item header{display:flex;justify-content:space-between;gap:10px}.agenda-item .badge{font-size:.72rem;font-weight:800;text-transform:uppercase}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-day{min-width:0;min-height:90px;border:1px solid var(--line);background:#fff;padding:6px;border-radius:8px}.calendar-day strong{display:block}.calendar-event{font-size:.72rem;background:#e4f2ed;padding:3px;margin-top:4px;border-radius:4px;overflow-wrap:anywhere}.calendar-event.official{background:#ffe6d5}.warning{background:#fff5ed}.save-state.saving{color:#9b3b0d}
@media(max-width:820px){.portal-grid{grid-template-columns:1fr}.side-nav{display:flex;overflow:auto;position:static}.side-nav button{min-width:max-content}.option-grid,.document-grid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.portal-head{padding:12px}.user-chip>span:not(.avatar){display:none}.portal-wrap{padding:18px 12px}.progress-top{align-items:flex-start}.steps li{font-size:.65rem}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.review-box{display:block}.calendar{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Logo del encabezado - Espacio Personal */
.portal-logo {
  max-height: 100px; /* Altura equilibrada para que no ocupe demasiado espacio */
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Ocultamos el estilo antiguo de texto si la clase .brand tenía márgenes internos extraños */
.brand {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.brand-back-text {
  margin-left: 2px;
  font-weight: 600;
  font-size: 1.5rem;
  color: #120751;
  background: none;
  border: none;
  padding: 0;
}