/* centro.speg.es — añadidos sobre moderno.css (mismo armazón que centro.atrilit.com) */
.login-wrap{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:0 0 20px}
.login-card{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:24px}
.field{display:block;margin:0 0 12px}
.field > span{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:2px}
.check{display:flex;gap:9px;align-items:flex-start;font-size:14px;margin:0 0 12px;line-height:1.4}
.check input{width:auto;margin:2px 0 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:calc(16px + env(safe-area-inset-top,0px)) 0 12px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs .pill{text-decoration:none;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 10px;box-shadow:var(--shadow);text-align:center}
.kpi-n{display:block;font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.1}
.kpi-l{display:block;font-size:12.5px;font-weight:600}
.kpi-s{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}
.today-link{display:inline-block;margin-top:10px;color:#fff;font-size:13.5px;font-weight:600;text-decoration:underline;opacity:.92}
.avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--tint);color:var(--brand);display:grid;place-items:center;font-weight:700;font-size:15px}
.dia-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);margin:0 0 9px;overflow:hidden}
.dia-card > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:14px 16px;align-items:center}
.dia-card > summary::-webkit-details-marker{display:none}
.dia-nombre{font-weight:650;font-size:16px}
.dia-resumen{grid-column:1 / -1;font-size:12px;color:var(--muted)}
.chip-hoy{grid-column:2;grid-row:1;font-size:10px}
.dia-body{padding:0 16px 14px}
.comida-row{display:grid;grid-template-columns:78px 1fr;gap:6px 8px;padding:10px 0;border-top:1px solid var(--line)}
.comida-lbl{font-size:13.5px;align-self:center}
.comida-row .sel-modo{grid-column:2;margin:0}
.comida-row .in-hora,.comida-row .in-nota{grid-column:2;margin:0;padding:9px 11px;font-size:14px}
@media (min-width:430px){
  .comida-row{grid-template-columns:78px minmax(0,1fr) 96px}
  .comida-row .sel-modo{grid-column:2}
  .comida-row .in-hora{grid-column:3;grid-row:1}
  .comida-row .in-nota{grid-column:2 / -1}
}
.exc-form{margin-top:10px}
.serv{padding:16px}
.serv-table{width:100%;border-collapse:collapse;font-size:13px}
.serv-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding:4px 6px 6px;border-bottom:1px solid var(--line)}
.serv-table td{padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.serv-table tr:last-child td{border-bottom:0}
.serv-table .num{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.serv-table a{color:var(--text);text-decoration:none}
.mailbody{white-space:pre-wrap;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--muted);margin:8px 0 0;line-height:1.45}
.chip-alt{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}
@media print{
  .no-print,.tabbar{display:none!important}
  body{background:#fff}
  .app{max-width:none}
  .card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
}

/* moderno.css acaba con .today{background-image:...,var(--foto)} y --foto no existe en esta app:
   sin definirla el degradado se anula. Fijamos la portada completa. */
.today{--foto:none;background-image:
  radial-gradient(120% 95% at 94% 6%,rgba(255,183,3,.45),transparent 60%),
  linear-gradient(150deg,var(--brand) 0%,#b32c8e 46%,var(--brand-2) 100%)}
/* que la tabbar fija no tape el final del contenido */
.app{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
@media print{.app{padding-bottom:0}}

/* tabbar: que acompañe al ancho de la app también en escritorio */
.tabbar{max-width:560px;margin:0 auto;border-radius:20px 20px 0 0;box-shadow:0 -12px 30px -24px rgba(30,10,50,.45)}

/* hoja de servicio en matriz, como el cuadro de cocina */
.serv-hoja{padding:10px 12px 8px}
.serv-matriz{width:100%;border-collapse:collapse;font-size:15px}
.serv-matriz th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);font-weight:700;padding:6px 3px;border-bottom:1px solid var(--border);text-align:center}
.serv-matriz th:first-child{text-align:left}
.serv-matriz td{padding:9px 3px;border-bottom:1px solid var(--border)}
.serv-matriz tr:last-child td{border-bottom:0}
.serv-matriz .nom{font-weight:600}
.serv-matriz .cel{text-align:center;width:58px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.01em}
.serv-matriz .cel.fuera{color:#c0293f}
.serv-matriz .cel.hora{color:#0e7490}
.serv-matriz .cel.bocata{color:#b45309;font-size:14px}
.serv-matriz .cel.ok{font-weight:500;color:var(--muted-foreground)}
.serv-matriz a{color:inherit;text-decoration:none}
.resumen{margin-top:14px;padding-top:10px;border-top:2px solid var(--border);font-size:14px;line-height:1.65}
.resumen b{display:block;margin-bottom:2px}
.leyenda{margin:10px 0 2px;font-size:11px;line-height:1.5}
.only-print{display:none}
@media print{
  .no-print,.tabbar,.hoy-head{display:none!important}
  body{background:#fff}
  .app{padding:0!important;max-width:none}
  .serv-hoja{box-shadow:none;border:0;padding:0}
  .serv-matriz{font-size:12px}
  .serv-matriz td{padding:5px 3px}
  .only-print{display:block;margin-bottom:8px;font-size:13px}
}
