/* Portal del proveedor · cinco secciones (Hoy, Servicios, Agenda, Edificios y Mi cuenta).
   Todo va bajo body.proveedor para no cambiar los demás portales. Identidad: docs/DISENO.md §1.
   Fondo crema, verde profundo y acento cálido; Jost y, en cursiva, Newsreader (fuentes.css, sin Google Fonts).
   Botones de 44 px como mínimo y texto con contraste de 4,5:1. */
body.proveedor{
  --bg:#F6F1E7;--panel:#fff;--ink:#1E2A24;--muted:#56625B;--line:#E2D9C4;--soft:#EFE8D8;
  --brand:#1F4D3A;--brand-ink:#fff;--accent:#C9822B;--danger:#B42318;--ok:#1F6B3A;--radius:16px;
  --shadow:0 1px 2px rgba(30,42,36,.06);
  --alto-nav:60px;--alto-cab:62px;
  color-scheme:light;
  background:var(--bg);color:var(--ink);font-family:Jost,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:400;
}
body.proveedor .cab{background:color-mix(in srgb,var(--bg) 92%,transparent)}
body.proveedor .marca{font-family:Jost,system-ui,sans-serif;font-weight:500}
body.proveedor .tarjeta{border-radius:16px;border-color:transparent;box-shadow:var(--shadow)}
body.proveedor .btn{min-height:44px;font-family:inherit;font-size:15px;border-radius:22px;padding:0 18px}
body.proveedor .btn.peq{min-height:44px;font-size:14.5px;padding:0 14px}
body.proveedor .btn.prim{background:var(--brand);border-color:var(--brand);color:#fff}
body.proveedor input,body.proveedor select,body.proveedor textarea{font-family:inherit;min-height:44px}
body.proveedor textarea{min-height:0}
body.proveedor .enlace{min-height:44px;padding:0 4px;font-size:14.5px}
body.proveedor a{color:var(--brand)}
body.proveedor .nota{color:var(--muted);font-size:14px}
body.proveedor h1,body.proveedor h2,body.proveedor h3{font-family:Jost,system-ui,sans-serif;font-weight:400}
body.proveedor h1 em{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:400}
body.proveedor .com-cab h1{font-size:clamp(26px,4vw,36px);margin:6px 0}
body.proveedor #pvMain{padding-bottom:calc(var(--alto-nav) + 40px);padding-top:8px;max-width:960px}
body.proveedor #estado{position:sticky;top:calc(var(--alto-cab) + 4px);z-index:30;margin:8px 0}

/* Cabecera del panel: saludo, fecha, negocio y la inicial */
body.proveedor .pv-cab .envoltura{max-width:960px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:18px;padding-bottom:8px}
body.proveedor .pv-cab-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
body.proveedor .pv-fecha{font-size:14px;color:var(--muted)}
body.proveedor .pv-cab h1{margin:0;font-size:clamp(28px,5vw,36px);line-height:1.15}
body.proveedor .pv-negocio{font-size:15px;color:var(--muted);overflow-wrap:anywhere}
body.proveedor .pv-menu{position:relative;flex:none}
body.proveedor .pv-inicial{width:44px;height:44px;min-height:44px;border-radius:50%;border:0;background:var(--brand);color:#fff;
  font:500 18px/1 Jost,system-ui,sans-serif;cursor:pointer;padding:0;text-transform:uppercase}
body.proveedor .pv-inicial:focus-visible,body.proveedor .pv-nav button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
body.proveedor .pv-menu-caja{position:absolute;right:0;top:52px;z-index:60;min-width:220px;background:#fff;border-radius:14px;
  box-shadow:0 8px 28px rgba(30,42,36,.18);padding:8px}
body.proveedor .pv-menu-negocio{margin:0;padding:8px 12px;font-size:14px;color:var(--muted);overflow-wrap:anywhere;border-bottom:1px solid var(--line)}
body.proveedor .pv-menu-op{display:block;width:100%;min-height:44px;text-align:left;border:0;background:none;border-radius:10px;padding:0 12px;
  font:inherit;font-size:15.5px;color:var(--ink);cursor:pointer}
body.proveedor .pv-menu-op:hover{background:var(--soft)}

/* Navegación: barra fija abajo en el móvil; arriba, bajo la cabecera, en el ordenador */
body.proveedor .pv-nav{position:fixed;left:0;right:0;bottom:0;z-index:900;background:#fff;border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom)}
body.proveedor .pv-nav .envoltura{display:grid;grid-template-columns:repeat(5,1fr);padding:0;max-width:none}
body.proveedor .pv-nav button{min-height:var(--alto-nav);border:0;background:none;font:inherit;font-size:13.5px;color:var(--muted);cursor:pointer;
  padding:0 2px;border-top:3px solid transparent}
body.proveedor .pv-nav button[aria-current="page"]{color:var(--brand);font-weight:500;border-top-color:var(--accent)}
@media (min-width:760px){
  body.proveedor{--alto-nav:52px}
  body.proveedor .pv-nav{position:sticky;top:var(--alto-cab);bottom:auto;border-top:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);
    backdrop-filter:blur(8px);padding-bottom:0}
  body.proveedor .pv-nav .envoltura{max-width:960px;display:flex;gap:4px;padding:0 20px}
  body.proveedor .pv-nav button{min-height:52px;padding:0 18px;font-size:15.5px;border-top:0;border-bottom:3px solid transparent}
  body.proveedor .pv-nav button[aria-current="page"]{border-bottom-color:var(--accent)}
  body.proveedor #estado{top:calc(var(--alto-cab) + var(--alto-nav) + 4px)}
  body.proveedor #pvMain{padding-bottom:48px}
}

/* Títulos y secciones */
body.proveedor .pv-sec{display:grid;gap:14px;padding-top:6px}
body.proveedor #pCuerpo{max-width:none;display:grid;gap:14px}
body.proveedor .pv-h1{margin:6px 0;font-size:clamp(24px,4vw,30px);line-height:1.15}
body.proveedor .pv-h2{margin:0;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
body.proveedor #pedidosCaja .pv-h2,body.proveedor #planesTit{margin-top:14px}
body.proveedor .pv-fila-tit{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
body.proveedor .pv-sec > .tarjeta{padding:16px}

/* Hoy */
body.proveedor .pv-progreso-txt{font-size:13.5px;color:var(--brand);font-weight:500}
body.proveedor .pv-barra{height:6px;background:var(--soft);border-radius:3px;margin:10px 0 6px;overflow:hidden}
body.proveedor .pv-barra i{display:block;height:6px;background:var(--brand);border-radius:3px;width:0}
body.proveedor .pv-pend{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
body.proveedor .pv-pend:first-child{border-top:0}
body.proveedor .pv-pend span{font-size:15.5px}
body.proveedor .pv-pend .btn{flex:none}
body.proveedor .pv-hechos{margin:8px 0 0;font-size:13.5px;color:var(--ok)}
body.proveedor .pv-hechos:empty{display:none}
body.proveedor .pv-bloque{display:grid;grid-template-columns:auto 1fr auto;gap:2px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
body.proveedor .pv-bloque:first-child{border-top:0}
body.proveedor .pv-hora{font-size:20px;font-weight:500;color:var(--brand);grid-row:1/3}
body.proveedor .pv-bloque b{font-weight:500;font-size:16px}
body.proveedor .pv-bloque .nota{margin:0}
body.proveedor .pv-bloque .btn{grid-row:1/3;grid-column:3}
body.proveedor .pv-cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
body.proveedor .pv-cifra{background:#fff;border-radius:16px;padding:14px 10px;text-align:center;box-shadow:var(--shadow)}
body.proveedor .pv-cifra b{display:block;font-size:28px;font-weight:400;color:var(--brand);line-height:1.1}
body.proveedor .pv-cifra span{font-size:13.5px;color:var(--muted)}

/* Servicios: tarjetas con foto a sangre */
body.proveedor .pv-rejilla{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:760px){body.proveedor .pv-rejilla{grid-template-columns:1fr 1fr}}
body.proveedor .pv-serv{--pad-tarjeta:16px;padding:16px;display:flex;flex-direction:column;overflow:hidden;background:#fff}
body.proveedor .pv-serv .com-servicio-foto{margin-bottom:12px}
body.proveedor .pv-serv .pv-sinfoto{margin:-16px -16px 12px;aspect-ratio:16/9;background:var(--soft);display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:13.5px;border-radius:16px 16px 0 0}
body.proveedor .pv-serv h3{margin:6px 0 2px;font-size:21px;font-weight:500}
body.proveedor .pv-serv.as-pausado .com-servicio-foto,body.proveedor .pv-serv.as-pausado .pv-sinfoto{opacity:.65}
body.proveedor .pv-tipo{font-size:13.5px;color:var(--muted);margin:0}
body.proveedor .pv-precios{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
body.proveedor .pv-precio{display:inline-flex;align-items:center;padding:4px 12px;border-radius:99px;background:var(--soft);color:var(--ink);font-size:14.5px;min-height:30px}
body.proveedor .pv-precio b{font-weight:500;margin-left:4px}
body.proveedor .pv-serv .tag{background:var(--soft);color:var(--muted);font-size:12.5px}
body.proveedor .pv-sin-foto-aviso{font-size:13.5px;color:#7A4B0E;margin:4px 0 0}
body.proveedor .pv-serv .as-acciones{margin-top:auto;padding-top:8px;align-items:center}
body.proveedor .as-mas{position:relative}
body.proveedor .as-mas > summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:22px;background:#fff;font-size:20px;line-height:1}
body.proveedor .as-mas > summary::-webkit-details-marker{display:none}
body.proveedor .as-mas-caja{position:absolute;right:0;bottom:50px;z-index:20;min-width:200px;background:#fff;border-radius:14px;padding:6px;
  box-shadow:0 8px 28px rgba(30,42,36,.2);display:grid;gap:2px}
body.proveedor .as-mas-caja .btn{justify-content:flex-start;border:0;background:none;border-radius:10px;width:100%}
body.proveedor .as-mas-caja .btn:hover{background:var(--soft)}

/* Agenda */
body.proveedor .pv-pestanas{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
body.proveedor .pv-pestanas button{flex:none;white-space:nowrap;min-height:44px;border:0;background:none;font:inherit;font-size:15.5px;color:var(--muted);padding:0 14px;cursor:pointer;
  border-bottom:3px solid transparent}
body.proveedor .pv-pestanas button[aria-selected="true"]{color:var(--brand);font-weight:500;border-bottom-color:var(--accent)}
@media (max-width:480px){body.proveedor .pv-pestanas button{padding:0 10px;font-size:15px}}
body.proveedor .pv-filtro{display:flex;align-items:center;gap:8px;margin:10px 0 0}
body.proveedor .pv-filtro label{margin:0;font-size:14.5px}
body.proveedor .pv-filtro select{width:auto;min-width:160px}
body.proveedor .pv-dias{display:flex;gap:8px;overflow-x:auto;padding:10px 0 4px}
body.proveedor .pv-dias button{flex:none;min-height:44px;min-width:64px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:0 14px;font:inherit;
  font-size:14.5px;color:var(--ink);cursor:pointer}
body.proveedor .pv-dias button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
body.proveedor #agendaLista{display:grid;gap:12px;margin-top:6px}
body.proveedor .pv-clase,body.proveedor .pv-cita{background:#fff;border-radius:16px;padding:14px 16px;box-shadow:var(--shadow)}
body.proveedor .pv-clase-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
body.proveedor .pv-clase-cab b,body.proveedor .pv-cita-cab b{font-weight:500;font-size:17px}
body.proveedor .pv-lista{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:2px}
body.proveedor .pv-lista label{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;color:var(--ink);font-size:16px;cursor:pointer}
body.proveedor .pv-lista input{width:24px;height:24px;min-height:0;margin:0;accent-color:var(--brand);flex:none}
body.proveedor .pv-lista .nota{margin-left:auto}
body.proveedor .pv-guardar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
body.proveedor .pv-cita-cab{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.proveedor .pv-cita p{margin:4px 0}
body.proveedor .pv-cita .as-acciones{margin-top:8px}
body.proveedor .pv-vacio{padding:18px 4px;color:var(--muted)}
body.proveedor table{background:#fff;border-radius:12px;overflow:hidden}

/* Edificios */
body.proveedor .pv-grupo{margin:0 0 18px}
body.proveedor .pv-grupo > h3{margin:0 0 8px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
body.proveedor .pv-ed{padding:16px;margin-bottom:12px}
body.proveedor .pv-ed h4{margin:0;font-size:20px;font-weight:500}
body.proveedor .pv-ed .as-estados{margin:10px 0 6px}
body.proveedor .pv-ed .as-estados .tag{background:var(--soft);color:var(--ink)}
body.proveedor .pv-ed .as-acciones{margin-top:8px}
body.proveedor .pv-decididos{background:none}
body.proveedor .pv-decididos > summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
body.proveedor .pv-decididos .pv-ed{opacity:.8}

/* Hoja que sube desde abajo (Proponer y «Ver como residente») */
body.proveedor dialog.pv-hoja{border:0;padding:18px 18px 24px;width:min(560px,100%);max-width:100%;max-height:92vh;overflow:auto;
  margin:auto auto 0;border-radius:20px 20px 0 0;background:var(--bg);color:var(--ink);font-family:Jost,system-ui,sans-serif}
body.proveedor dialog.pv-hoja[open]{animation:pv-sube .22s ease-out}
body.proveedor dialog.pv-hoja::backdrop{background:rgba(30,42,36,.45)}
@keyframes pv-sube{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){body.proveedor dialog.pv-hoja[open]{animation:none}}
@media (min-width:760px){body.proveedor dialog.pv-hoja{margin:auto;border-radius:20px}}
body.proveedor dialog.pv-hoja h2{margin:0;font-size:22px;font-weight:400}
body.proveedor dialog.pv-hoja .btn{min-height:44px;border-radius:22px}
body.proveedor dialog.pv-hoja .btn.prim{background:#1F4D3A;color:#fff;border-color:#1F4D3A}
body.proveedor dialog.pv-hoja input,body.proveedor dialog.pv-hoja textarea{font-family:inherit}
body.proveedor dialog.pv-hoja label.chk{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-size:15.5px;color:#1E2A24}
body.proveedor dialog.pv-hoja label.chk input{width:22px;height:22px;min-height:0;margin:0;flex:none;accent-color:#1F4D3A}
body.proveedor dialog.pv-hoja .com-acciones{margin-top:14px}
body.proveedor .pv-hoja-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
body.proveedor .pv-despues{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#EFE8D8}
body.proveedor .pv-despues h3{margin:0 0 4px;font-size:15px;font-weight:500}
body.proveedor .pv-despues ul{margin:0;padding-left:18px;font-size:14px;color:#56625B}
body.proveedor dialog.pv-hoja .as-vista{max-width:none;margin-top:6px}

/* Mi cuenta */
body.proveedor .pv-verif .aviso{margin-top:8px}
body.proveedor .aviso-caduca{margin:8px 0 0;background:#F6E7CC;color:#6B3F06}
body.proveedor .pv-gremio{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 10px}
body.proveedor .pv-gremio label{margin:0;font-size:15px;color:var(--ink)}
body.proveedor .pv-gremio select{width:auto;min-width:220px}
body.proveedor .doc-fila{display:grid;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
@media (min-width:640px){body.proveedor .doc-fila{grid-template-columns:1fr auto;align-items:start}}
body.proveedor .doc-subir{display:grid;gap:6px;justify-items:start}
body.proveedor .doc-subir label.nota{margin:0;display:grid;gap:2px}
body.proveedor .doc-subir input[type=date]{width:auto}
body.proveedor .doc-falta{color:#7A4B0E}
body.proveedor .doc-rechazado{color:var(--danger)}

/* Imprimir la lista del día de la agenda */
@media print{
  body.proveedor.imp-agenda *{visibility:hidden}
  body.proveedor.imp-agenda #agReservas,body.proveedor.imp-agenda #agReservas *{visibility:visible}
  body.proveedor.imp-agenda #agReservas{position:absolute;left:0;top:0;width:100%}
  body.proveedor.imp-agenda .no-imprimir,body.proveedor.imp-agenda .no-imprimir *{display:none!important}
}
body.proveedor a.pv-menu-op{display:flex;align-items:center;text-decoration:none;color:var(--ink)}
/* El menú de la inicial va por encima de la barra de secciones */
body.proveedor .pv-cab{position:relative;z-index:950}
/* «Tu ficha» (0036) */
.pv-perfil-fila{display:flex;gap:16px;align-items:stretch;flex-wrap:wrap}
.pv-logo{flex:none;width:128px;height:128px;min-height:0;margin:0}
.pv-logo.con-logo{border-style:solid;background:#fff}
.pv-logo img{max-width:100%;max-height:96px;object-fit:contain;display:block}
.pv-perfil-txt{flex:1 1 220px}
.pv-perfil-txt textarea{width:100%}
/* «Borrar» (0038) */
.btn-peligro{color:#9B2C2C;border-color:color-mix(in srgb,#9B2C2C 40%,var(--line))}
.btn-peligro[data-confirmar]{background:#9B2C2C;border-color:#9B2C2C;color:#fff}
