/* Portal de clientes MantaRosa (mockup/project/Portal*.dc.html) */
:root{--purpura:#3E245C;--rosa:#DA328A;--rosa-osc:#B62672;--suave:#5B4A6E;--fondo:#FBF7FA;--borde:#F2DFE8}
*{box-sizing:border-box}
body.portal{margin:0;background:var(--fondo);color:var(--purpura);font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.5}
.portal h1,.portal h2{font-family:Outfit,sans-serif;margin:0}
.portal h1{font-weight:800;font-size:clamp(30px,4vw,42px);line-height:1.1}
.portal h2{font-weight:700;font-size:20px}
.curva{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;color:var(--acento,var(--rosa))}
.portal a{color:var(--rosa-osc)}
.portal :focus-visible{outline:3px solid var(--rosa);outline-offset:2px}
.p-suave{color:var(--suave);font-size:14px;margin:0}
.p-intro{color:var(--suave);font-size:17px;margin:-8px 0 0;max-width:62ch}
.p-tarjeta{background:#fff;border-radius:28px;padding:24px;box-shadow:0 10px 30px rgba(62,36,92,.05)}
.p-boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--acento,var(--rosa));color:#fff!important;border:0;border-radius:999px;padding:12px 24px;min-height:46px;font:600 16px Outfit,sans-serif;text-decoration:none;cursor:pointer;list-style:none}
.p-boton::-webkit-details-marker{display:none}
.p-boton--claro{background:#fff;color:var(--purpura)!important;border:1.5px solid var(--borde)}
.p-boton[disabled]{opacity:.5;cursor:not-allowed}
.p-enlace{font-weight:700;font-size:15px}
.p-aviso{background:#FBE6F0;color:var(--purpura);border-radius:16px;padding:12px 16px;margin:0;font-size:15px}
.p-aviso--error{background:#FDEBDC;color:#8A3B0A}
.p-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.p-chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.p-chip--formato{color:#fff;background:var(--c)}
.p-cabeza{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}

/* Entrar */
.p-entrar{min-height:100vh;background:#363B6B radial-gradient(55% 75% at 85% 15%,rgba(218,50,138,.6),transparent 62%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:56px;padding:48px 16px}
.p-entrar__texto{flex:1 1 360px;max-width:500px;color:#fff}
.p-entrar__texto h1{font-size:clamp(38px,5vw,60px);color:#fff}
.p-entrar__texto .curva{color:#F6D5E6}
.p-entrar__texto p{font-size:19px;color:#E4E5F5}
.p-entrar__form{flex:0 1 420px;display:flex;flex-direction:column;gap:16px;padding:40px 32px;border-radius:36px}
.p-entrar__form img{align-self:flex-start}
.p-entrar__form .p-suave{text-align:center}
.p-entrar__form .p-enlace{align-self:center}
.p-entrar__form label{flex:none}

/* Formularios */
.p-form{display:flex;flex-direction:column;gap:16px}
.p-form label,.p-entrar__form label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;flex:1 1 220px}
.portal input:not([type=checkbox]):not([type=file]),.portal select,.portal textarea{border:1.5px solid #CFC6DA;border-radius:14px;padding:12px 14px;min-height:46px;font:inherit;font-weight:400;color:var(--purpura);background:#fff;width:100%}
.p-fila{display:flex;flex-wrap:wrap;gap:14px}
.p-check{flex-direction:row!important;align-items:flex-start;font-weight:400!important;font-size:15px!important}
.p-check input{margin-top:4px;accent-color:var(--rosa);width:18px;height:18px}
.p-acciones{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.p-form .p-tarjeta{display:flex;flex-direction:column;gap:14px}
.p-logo-actual{max-height:90px;max-width:200px;object-fit:contain;align-self:flex-start}

/* App: menú lateral + contenido */
.p-app{display:flex;min-height:100vh}
.p-lateral{width:260px;flex:0 0 260px;background:var(--purpura);color:#fff;padding:28px 18px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh;overflow-y:auto}
.p-lateral__logo{height:36px;width:auto;align-self:flex-start;margin-left:8px}
.p-cliente{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.08);border-radius:18px;padding:12px}
.p-cliente__logo{width:44px;height:44px;border-radius:14px;background:var(--acento,var(--rosa));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;overflow:hidden;flex:0 0 44px}
.p-cliente__logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.p-cliente strong{display:block;font-size:15px}.p-cliente small{color:#CDBFDB;font-size:13px}
.p-lateral__nota{background:rgba(255,194,228,.14);border-radius:14px;padding:12px;font-size:14px;margin:0;color:#FBE6F0}
.p-menu{display:flex;flex-direction:column;gap:4px;font-family:Outfit,sans-serif}
.p-menu a{display:flex;align-items:center;gap:12px;color:#E9DEF2;text-decoration:none;padding:11px 12px;border-radius:14px;min-height:44px}
.p-menu a:hover{background:rgba(255,255,255,.08)}
.p-menu a[aria-current]{background:#fff;color:var(--purpura)}
.p-menu--bloqueado a{opacity:.45;pointer-events:none}
.p-menu svg,.p-barra svg,.p-item__icono svg,.p-accesos svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 22px}
.p-insignia{margin-left:auto;background:var(--rosa);color:#fff;border-radius:999px;font-size:12px;padding:2px 8px}
.p-lateral__pie{margin-top:auto;display:flex;flex-direction:column;gap:12px;font-size:14px;padding:0 8px}
.p-lateral__pie a{color:#DF98C2}
.p-principal{flex:1;min-width:0;padding:40px clamp(16px,4vw,48px) 96px;display:flex;flex-direction:column;gap:22px;max-width:1180px}
.p-barra{display:none}

/* Acuerdo */
.p-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.p-pasos li{background:#fff;color:var(--suave);border-radius:18px;padding:14px;font-weight:700}
.p-pasos .hecho{background:#DFF2E8;color:#257A4F}.p-pasos .activo{background:var(--acento,var(--rosa));color:#fff}
.p-acuerdo{max-height:380px;overflow-y:auto;border:1.5px solid var(--borde);border-radius:18px;padding:4px 20px;margin-top:14px;font-size:15px;line-height:1.6}
.p-lienzo{position:relative;height:190px;border:2.5px dashed #C9BFD6;border-radius:20px;background:var(--fondo);touch-action:none}
.p-lienzo canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.p-lienzo span{position:absolute;left:16px;bottom:14px;font-size:14px;color:var(--suave);pointer-events:none}
.p-lienzo .p-boton{position:absolute;right:12px;bottom:10px;min-height:40px;padding:8px 16px;font-size:14px}

/* Inicio */
.p-necesitamos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.p-necesitamos a{background:var(--acento,var(--rosa));color:#fff!important;text-decoration:none;border-radius:24px;padding:20px 22px;display:flex;flex-direction:column;gap:2px;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.p-necesitamos a:hover{transform:translateY(-3px)}
.p-necesitamos b{font:800 40px/1 Outfit,sans-serif}
.p-columnas{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.p-columnas>.p-tarjeta{display:flex;flex-direction:column;gap:14px}
.p-colores{display:flex;flex-wrap:wrap;gap:8px}
.p-colores button{display:flex;align-items:center;gap:8px;border:1.5px solid var(--borde);background:#fff;border-radius:999px;padding:6px 12px 6px 6px;font:600 13px 'DM Sans',sans-serif;color:var(--purpura);cursor:pointer;min-height:40px}
.p-colores i{width:26px;height:26px;border-radius:50%;background:var(--c);display:block}
.p-eslogan{font-family:'Instrument Serif',serif;font-style:italic;font-size:22px;margin:0}
.p-accesos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.p-accesos a{display:flex;flex-direction:column;gap:10px;background:var(--fondo);border-radius:20px;padding:16px;text-decoration:none;color:var(--purpura)!important;font-weight:700;font-size:14px;min-height:96px}
.p-accesos a:hover{background:#FBE6F0}
.p-accesos svg{color:var(--acento,var(--rosa));width:26px;height:26px}
.p-item{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--purpura)!important}
.p-item strong{display:block}.p-item small{color:var(--suave);font-size:13px}
.p-item>span:nth-child(2){flex:1}
.p-item--plano{padding:10px 0;border-bottom:1px solid var(--borde)}
.p-item__icono{width:46px;height:46px;border-radius:14px;background:#FBE6F0;color:var(--acento,var(--rosa));display:flex;align-items:center;justify-content:center}
.p-item__ir{font-size:20px}
.p-lista{display:flex;flex-direction:column;gap:12px}

/* Parrilla */
.p-mes{display:flex;align-items:center;gap:12px;font-family:Outfit,sans-serif;font-size:18px}
.p-mes a{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--borde);background:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:22px;color:var(--purpura)!important}
.p-calendario{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:16px}
.p-calendario>b{font-size:12px;text-align:center;color:var(--suave);padding-bottom:4px}
.p-dia{min-height:86px;background:var(--fondo);border-radius:14px;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}
.p-dia small{font-weight:700;font-size:12px}
.p-dia a{background:var(--c);color:#fff!important;font-size:11px;font-weight:700;border-radius:8px;padding:3px 6px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-piezas{display:flex;flex-direction:column;gap:16px}
.p-pieza{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:22px;scroll-margin-top:20px}
.p-pieza__media{border-radius:20px;overflow:hidden;background:var(--fondo);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;color:var(--suave);font-size:14px}
.p-pieza__media img{width:100%;height:100%;object-fit:cover}
.p-pieza__info{display:flex;flex-direction:column;gap:10px;min-width:0}
.p-copy{background:var(--fondo);border-radius:16px;padding:4px 14px;font-size:15px}
.p-ajuste{margin:0;font-size:14px;background:#FBE3F0;border-radius:12px;padding:8px 12px}
.p-revisar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;margin-top:4px}
.p-revisar details{flex:1 1 260px}
.p-revisar details[open]{display:flex;flex-direction:column;gap:10px;width:100%}
.p-revisar label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
.p-leyenda summary{cursor:pointer;font-weight:700}
.p-leyenda .p-chips{margin-top:12px}

/* Resultados */
.p-resultado{background:#fff;border-radius:24px;padding:20px 22px;display:flex;flex-direction:column;gap:2px;box-shadow:0 10px 30px rgba(62,36,92,.05)}
.p-resultado b{font:800 36px/1 Outfit,sans-serif;color:var(--acento,var(--rosa))}
.p-resultado small{color:#257A4F;font-weight:700;font-size:13px}
.p-mes select{min-height:44px}

/* Solicitudes */
.p-solicitud{display:flex;flex-direction:column;gap:8px}
.p-solicitud p{margin:0}
.p-respuesta{background:#EEE3F7;border-radius:16px;padding:12px 16px}

/* Celular: barra de 5 íconos abajo */
@media (max-width:860px){
  .p-lateral{display:none}
  .p-principal{padding:24px 16px 110px}
  .p-barra{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:50;background:var(--purpura);border-radius:24px;padding:6px;justify-content:space-around;box-shadow:0 12px 30px rgba(62,36,92,.3)}
  .p-barra a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:#CDBFDB;text-decoration:none;font-size:11px;padding:8px 2px;border-radius:18px;min-height:48px}
  .p-barra a[aria-current]{background:#fff;color:var(--purpura)}
  .p-pieza{grid-template-columns:1fr}
  .p-calendario{gap:3px;padding:10px}
  .p-dia{min-height:58px;padding:4px}
  .p-dia a{font-size:0;height:6px;padding:0}
}
@media (prefers-reduced-motion:reduce){.p-necesitamos a{transition:none}}
/* Viaje del cliente */
.p-viaje ol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.p-viaje li{display:flex;gap:16px;position:relative;padding-bottom:22px}
.p-viaje li:last-child{padding-bottom:0}
.p-viaje li i{flex:0 0 18px;height:18px;border-radius:50%;border:3px solid #E7DCEB;background:#fff;margin-top:3px;position:relative;z-index:1}
.p-viaje li:not(:last-child)::before{content:"";position:absolute;left:8px;top:22px;bottom:0;width:2px;background:#EFE6F2}
.p-viaje li div{display:flex;flex-direction:column;gap:3px;min-width:0}
.p-viaje strong{font:700 17px/1.3 Outfit,sans-serif;color:#3E245C}
.p-viaje small{color:#6B5A7E;font-size:14px}
.p-viaje__chip{align-self:flex-start;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:#F4EEF7;color:#5B4A6E}
.p-viaje li.p-viaje__listo i{background:#2E9E6A;border-color:#2E9E6A}
.p-viaje__listo .p-viaje__chip{background:#DFF2E8;color:#257A4F}
.p-viaje li.p-viaje__aqui i{background:var(--acento,var(--rosa));border-color:var(--acento,var(--rosa));box-shadow:0 0 0 6px rgba(218,50,138,.15)}
.p-viaje__aqui .p-viaje__chip{background:var(--acento,var(--rosa));color:#fff}
.p-viaje__tarea{align-self:flex-start;margin-top:4px;font-size:13px;font-weight:600;color:#9A4A0B;background:#FCEFE2;padding:5px 10px;border-radius:10px}

/* Modo MantaRosa: panel de Mafe dentro del portal (usa las pantallas del panel con el diseño del portal) */
.p-mafe .p-lateral{background:#363B6B}
.p-modo{align-self:flex-start;margin-left:8px;background:#DF98C2;color:var(--purpura);font:700 15px Outfit,sans-serif;padding:7px 16px;border-radius:999px}
.p-mafe .p-menu a[aria-current]{background:var(--rosa);color:#fff}
.p-mas-titulo{margin:6px 0 -10px 12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#B9B3D9}
.p-mas{display:flex;flex-direction:column;gap:2px}
.p-mas a{color:#E4E0F4;text-decoration:none;padding:7px 12px;border-radius:10px;font-size:15px}
.p-mas a:hover,.p-mas a[aria-current]{background:rgba(255,255,255,.1);color:#fff}
.p-mafe .p-principal{display:block}
.p-mafe .wrap{margin:0}
.p-mafe .p-principal>*+*,.p-mafe .wrap>*+*{margin-top:18px}
.p-mafe h1{display:inline-block;margin-right:12px}
.p-mafe h2{margin:6px 0 12px}
.p-mafe .mr-tarjeta{background:#fff;border:0;border-radius:28px;padding:24px;box-shadow:0 10px 30px rgba(62,36,92,.05);margin:18px 0}
.p-mafe .mr-resumen div{border-radius:20px;background:#FBE6F0}
.p-mafe .mr-num{font-family:Outfit,sans-serif;font-size:34px}
.p-mafe .button,.p-mafe .page-title-action,.p-mafe input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#fff;color:var(--purpura);border:1.5px solid var(--borde);border-radius:999px;padding:9px 20px;min-height:42px;font:600 15px Outfit,sans-serif;text-decoration:none;cursor:pointer;vertical-align:middle}
.p-mafe .button-primary,.p-mafe input[type=submit].button-primary{background:var(--rosa);border-color:var(--rosa);color:#fff}
.p-mafe .button-link,.p-mafe .button-link-delete{background:none;border:0;padding:4px;color:var(--rosa-osc);font-weight:600;cursor:pointer;text-decoration:underline}
.p-mafe .button-link-delete{color:#B3261E}
.p-mafe .nav-tab-wrapper{display:flex;flex-wrap:wrap;gap:6px;border:0;margin:14px 0 4px;padding:0}
.p-mafe .nav-tab{background:#fff;border:1.5px solid var(--borde);border-radius:999px;padding:8px 16px;color:var(--purpura);text-decoration:none;font:600 15px Outfit,sans-serif}
.p-mafe .nav-tab-active{background:var(--purpura);border-color:var(--purpura);color:#fff}
.p-mafe table.widefat,.p-mafe table.form-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(62,36,92,.05)}
.p-mafe .widefat th,.p-mafe .widefat td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #F4EAF0;font-size:15px}
.p-mafe .widefat thead th{font:700 13px Outfit,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);background:#FBF7FA}
.p-mafe .form-table{box-shadow:none;background:transparent}
.p-mafe .form-table th{width:240px;text-align:left;padding:12px 16px 12px 0;vertical-align:top;font-weight:700}
.p-mafe .form-table td{padding:10px 0}
.p-mafe input[type=text],.p-mafe input[type=email],.p-mafe input[type=url],.p-mafe input[type=number],.p-mafe input[type=date],.p-mafe input[type=password],.p-mafe select,.p-mafe textarea{font:16px 'DM Sans',sans-serif;color:var(--purpura);border:1.5px solid #E2D6E8;border-radius:14px;padding:10px 14px;background:#fff;max-width:100%}
.p-mafe textarea{width:100%}
.p-mafe input[type=checkbox],.p-mafe input[type=radio]{accent-color:var(--rosa);width:18px;height:18px}
.p-mafe .description{color:var(--suave);font-size:14px;margin:4px 0 0}
.p-mafe .notice{border-radius:16px;padding:4px 16px;background:#E5F5EC;color:#1F5E3E;margin:12px 0}
.p-mafe .notice-error{background:#FDEBDC;color:#8A3B0A}
.p-mafe .notice-warning{background:#FFF4D6;color:#7A5300}
.p-mafe .notice-dismiss{display:none}
.p-mafe .regular-text,.p-mafe .large-text{width:100%;max-width:520px}
.p-mafe .mr-viaje input[type=text]{width:100%;min-width:140px}
.p-mafe .mr-viaje-plantillas{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.p-mafe .mr-viaje-plantillas label{cursor:pointer}
.p-mafe .mr-viaje-plantillas input{position:absolute;opacity:0}
.p-mafe .mr-viaje-plantillas span{display:inline-block;border:1.5px solid var(--borde);border-radius:999px;padding:9px 18px;font:600 15px Outfit,sans-serif;background:#fff}
.p-mafe .mr-viaje-plantillas input:checked+span{background:var(--purpura);border-color:var(--purpura);color:#fff}
.p-mafe .mr-viaje-plantillas input:focus-visible+span{outline:3px solid var(--rosa);outline-offset:2px}
.p-lista{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
@media (max-width:900px){
  .p-mafe .p-app{flex-direction:column}
  .p-mafe .p-lateral{display:flex;width:auto;flex:none;height:auto;position:static;padding:18px 14px;gap:12px}
  .p-mafe .p-menu{flex-direction:row;overflow-x:auto;gap:6px}
  .p-mafe .p-menu a{white-space:nowrap;flex:0 0 auto}
  .p-mafe .p-mas{flex-direction:row;flex-wrap:wrap}
  .p-mafe .widefat{display:block;overflow-x:auto}
  .p-mafe .form-table th{display:block;width:auto;padding-bottom:0}
  .p-mafe .form-table td{display:block}
}

/* Viaje en horizontal en pantallas anchas (como en el mockup) */
@media (min-width:901px){
  .p-viaje ol{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);gap:0 18px;overflow-x:auto;padding-bottom:6px}
  .p-viaje li{flex-direction:column;gap:12px;padding-bottom:0}
  .p-viaje li:not(:last-child)::before{left:26px;right:-18px;top:13px;bottom:auto;width:auto;height:3px;border-radius:3px}
  .p-viaje li i{flex:none;width:28px;height:28px;margin:0}
  .p-viaje li.p-viaje__listo:not(:last-child)::before{background:#2E9E6A}
}
.p-mafe .mr-tarjeta{overflow-x:auto}
.p-mafe .mr-viaje select{min-width:130px}
.p-mafe .mr-viaje th,.p-mafe .mr-viaje td{padding:8px 6px}
.p-mafe .p-lateral{min-height:100vh}
/* Caja de ingreso compacta (va al final para ganarle a la regla de los formularios) */
.p-entrar__form{flex:0 1 380px!important;gap:12px!important;padding:32px 28px!important}
.p-entrar__form label{flex:none!important}
