:root{
  --ink:#0E1A33; --ink-2:#3B4754; --muted:#4A5663; --line:#DDE1E6; --line-2:#ECEEF1;
  --bg:#F2F3F5; --card:#FFFFFF; --navy:#0B1B44; --navy-2:#1C3370;
  /* Marca DySite CORE */
  --brand-navy:#0B1B44; --brand-blue:#0A6FE0; --brand-orange:#F57C00; --brand-red:#E0141E;
  --brand-grad:linear-gradient(90deg,#0A6FE0 0%,#0A6FE0 30%,#F59E0B 55%,#F57C00 70%,#E0141E 100%);
  --accent:#8A4B00; --warn-bg:#FCEBD5; --warn-ink:#6B3900; --ok-bg:#E3F1E7; --ok-ink:#1F5A33;
  --blue-bg:#E3ECF6; --blue-ink:#173A5E; --danger:#A32222;
  --r:12px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--ink)}
h1,h2{margin:0;line-height:1.2}
h1{font-size:24px;font-weight:700}
h2{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
p{margin:0}
ul{margin:0;padding-left:20px}
.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
.muted{color:var(--muted)} .small{font-size:13px} .center{text-align:center} .right{text-align:right} .nowrap{white-space:nowrap} .wrap{overflow-wrap:anywhere}
.row{display:flex;align-items:center} .row.between{justify-content:space-between} .row.gap{gap:10px} .row.wrap{flex-wrap:wrap;gap:16px}
.stack{display:flex;flex-direction:column;gap:14px}
.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#B8C2CC}
[hidden]{display:none!important}

/* barra superior */
.top{background:var(--navy);color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;padding:6px 16px}
.top a{color:#D5DCE3;text-decoration:none}
.brand{font-weight:700;color:#fff!important;padding:6px 0;display:flex;align-items:center;gap:10px}
.brand-logo{height:30px;width:auto;display:block}
.nav{display:flex;gap:2px;flex:1;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.nav a{padding:10px 12px;border-radius:8px;font-size:15px}
.nav a[aria-current]{background:var(--navy-2);color:#fff;font-weight:600}
.count{background:var(--brand-orange);color:#fff;font-weight:700;font-size:12px;padding:1px 7px;border-radius:999px}
.me{display:flex;gap:14px;align-items:center;font-size:14px}
.salir{padding:8px 12px;border:1px solid #4A5E73;border-radius:8px}

.main{max-width:720px;margin:0 auto;padding:0 0 40px}
.main.wide{max-width:1240px;padding:0 16px 48px}
.main.wide .page-head{padding-left:0;padding-right:0}

/* mensajes */
.flash{margin:12px 16px 0;padding:12px 16px;border-radius:var(--r);background:var(--ok-bg);color:var(--ok-ink);font-weight:500}
.flash.info{background:var(--blue-bg);color:var(--blue-ink)}
.alert{padding:12px 16px;border-radius:var(--r);background:#FBE3E3;color:#6E1414}
.note{padding:14px 16px;border-radius:var(--r);background:var(--blue-bg);color:var(--blue-ink);line-height:1.5}
.note.warn{background:var(--warn-bg);color:#5C3100}
.note.ok{background:var(--ok-bg);color:var(--ok-ink)}
.big-code{font-size:26px;font-weight:600;letter-spacing:.06em;margin:8px 0}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;border:1px solid #C9D0D8;background:#fff;color:var(--ink);font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.primary:hover{background:#06102B}
.btn.ghost{background:transparent;border-color:transparent;text-decoration:underline}
.btn.small{min-height:40px;padding:0 14px;font-size:14px}
.btn.big{min-height:52px;font-size:16px;padding:0 10px;white-space:nowrap}
.btn.block{width:100%}
.btn.danger{color:var(--danger);border-color:#E3B3B3}
.btn.outline-light{background:transparent;color:#fff;border-color:#4A5E73}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.chip:focus-visible{outline:3px solid #E8A23A;outline-offset:2px}
.link{color:var(--accent);font-weight:600;font-size:14px;padding:10px 0}
.icon-btn{width:44px;height:44px;border-radius:50%;background:#EEF1F4;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);flex-shrink:0}
.icon-btn.dark{background:var(--navy);color:#fff}

/* badges */
.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--line-2);color:var(--ink-2);white-space:nowrap}
.badge.warn{background:var(--warn-bg);color:var(--warn-ink)}
.badge.green{background:var(--ok-bg);color:var(--ok-ink)}
.badge.blue{background:var(--blue-bg);color:var(--blue-ink)}
.badge.dark{background:var(--navy);color:#fff}

/* tarjetas y formularios */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px}
.card.narrow,.form.narrow{max-width:520px;margin:16px auto;width:calc(100% - 32px)}
.card.restricted{border:1px dashed #A15C00}
.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink-2)}
.form input:not([type=checkbox]),.form select{font:inherit;font-size:16px;font-weight:400;color:var(--ink);min-height:46px;padding:8px 12px;border:1px solid #B9C1CA;border-radius:8px;background:#fff;width:100%}
.form .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;padding:6px 0}
.form .check input{width:20px;height:20px;margin-top:1px;flex-shrink:0}
.form .check.strong{font-weight:600}
.hint{font-size:13px;color:var(--muted);font-weight:400}
fieldset{margin:0;min-width:0}
fieldset.card legend{float:left;width:100%;padding:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
fieldset.checks{border:0;padding:0;display:flex;flex-direction:column;gap:2px}
fieldset.checks legend{font-weight:600;font-size:14px;color:var(--ink-2);padding:0}
.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 14px;clear:both}
.contact-edit{display:grid;grid-template-columns:28px repeat(3,minmax(0,1fr));gap:10px;align-items:end;padding:10px 0;border-top:1px solid var(--line-2);clear:both}
.contact-edit .n{font-weight:700;color:var(--muted);padding-bottom:12px}
.sticky-actions{position:sticky;bottom:0;background:var(--bg);padding:12px 0}
.page-head{padding:20px 16px 12px;display:flex;flex-direction:column;gap:6px}
.main:not(.wide) > form.stack,.main:not(.wide) > .stack{padding:0 16px}
.back{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:#fff;text-decoration:none;font-size:15px}
.back.dark{color:var(--ink)}

/* login */
.login{max-width:420px;margin:0 auto;padding:48px 16px;display:flex;flex-direction:column;gap:16px}
.login-head{background:var(--navy);color:#fff;border-radius:var(--r);padding:24px}
.login-head h1{margin-top:4px}

/* lista */
.list-head{background:var(--navy);color:#fff;padding:18px 16px;display:flex;flex-direction:column;gap:14px}
.h-count{font-size:22px;font-weight:600}
.list-head .btn{background:transparent;color:#fff;border-color:#4A5E73}
.search{display:flex;align-items:center;gap:10px;background:#fff;color:var(--muted);border-radius:10px;padding:0 14px;min-height:50px}
.search input{flex:1;border:0;outline:none;font:inherit;font-size:17px;color:var(--ink);background:transparent;min-width:0}
.search:focus-within{outline:3px solid #E8A23A}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding:14px 16px 4px}
.main.wide .chips{padding-left:0;padding-right:0}
.chip{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid #C9D0D8;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;text-decoration:none}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.result{padding:4px 20px 8px;font-size:13px;color:var(--muted)}
.main.wide .result{padding-left:0}
.people{list-style:none;padding:0 12px;margin:0;display:flex;flex-direction:column;gap:8px}
.people a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;text-decoration:none;min-height:64px}
.people a:hover{border-color:#9AA5B1}
.avatar{width:40px;height:40px;border-radius:50%;background:#E4E8EE;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}
.who{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.who strong{font-size:15px}
.who span{font-size:14px;color:var(--ink-2)}
.meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:var(--muted)}
.empty{padding:40px 20px;text-align:center;color:var(--muted)}

/* ficha */
.ficha-head{background:var(--navy);color:#fff;padding:8px 16px 20px;display:flex;flex-direction:column;gap:4px}
.ficha-head h1{font-size:24px;margin-top:4px}
.ficha-head .sub{font-size:18px;color:#D5DCE3}
.ficha-head .ids{font-size:13px;color:#B8C2CC;margin-top:6px}
.ficha-head + .stack{padding:16px}
.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kv{margin:0;display:flex;flex-direction:column;gap:8px}
.kv > div{display:flex;justify-content:space-between;gap:16px}
.kv dt{color:var(--muted)} .kv dd{margin:0;font-weight:500;text-align:right}
.grid2{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.grid2 dt{font-size:13px;color:var(--muted)} .grid2 dd{margin:0;font-weight:600}
.addr{font-size:17px;font-weight:600}
.contacts{list-style:none;padding:0;margin:0}
.contacts li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line-2)}
.contacts li:first-child{border-top:0}
.par{color:var(--ink)} .par.missing{color:var(--accent);font-weight:500}
.footnote{line-height:1.6}
.danger-zone{padding-top:8px}

/* tablas */
.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.table{width:100%;border-collapse:collapse;font-size:14px;min-width:760px}
.table th,.table td{padding:12px;text-align:left;vertical-align:top;border-top:1px solid var(--line-2)}
.table thead th{border-top:0;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}
.table th.center,.table td.center{text-align:center}
.table tr.inactive{opacity:.6}
.table.small-text{font-size:13px}
.diff tr.same{color:var(--muted)}
.diff tr.changed th{color:var(--ink)}
.diff input{width:20px;height:20px}
.filters{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px}
.filters label{flex:1 1 150px}
.inline-form{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 14px}
.inline-form label{flex:1 1 320px}
.pager{display:flex;gap:12px;align-items:center;justify-content:center;padding:16px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.raw{margin-top:16px}
.raw summary{cursor:pointer;font-weight:600;min-height:32px}
.raw .kv > div{flex-direction:column;gap:2px;border-top:1px solid var(--line-2);padding-top:6px}
.raw .kv dd{text-align:left}

@media (max-width:560px){
  .contact-edit{grid-template-columns:1fr}
  .contact-edit .n{padding:0}
  .brand{flex:1}
  .me{order:2}
  .me a:first-child{display:none}
  .nav{order:3;flex-basis:100%;margin:0 -8px}
  .btn.big{font-size:15px}
  .main.wide{padding:0 12px 40px}
}
.page-head.row{flex-direction:row;align-items:flex-end;justify-content:space-between}

/* Encabezados de lista y ficha como tarjeta: separados del menú, esquinas redondeadas, aire antes de los botones */
.list-head,.ficha-head{margin:12px 16px 0;border-radius:var(--r)}
.main:not(.wide) > .ficha-head + .stack{padding:16px}
.ficha-head{padding-top:10px}
@media (max-width:560px){
  .list-head,.ficha-head{margin:8px 8px 0}
  .main:not(.wide) > .ficha-head + .stack{padding:12px 8px 16px}
  .people{padding:0 8px}
}

/* Objetivos */
.avatar.obj{background:var(--navy);color:#fff;border-radius:10px}
.puesto{padding:10px 0;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:6px}
.puesto:first-of-type{border-top:0}
.cob{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;font-size:14px;align-items:baseline}
.cob .mono{white-space:nowrap}
.pre{white-space:pre-line}
.form textarea{font:inherit;font-size:16px;font-weight:400;color:var(--ink);padding:10px 12px;border:1px solid #B9C1CA;border-radius:8px;width:100%;resize:vertical}
.puesto-edit{border-top:1px solid var(--line-2);padding:12px 0;display:flex;flex-direction:column;gap:10px;clear:both}
.puesto-edit.off{opacity:.6}
.puesto-edit.nuevo{background:#F8F9FA;margin:0 -16px;padding:12px 16px}
.grow{flex:1 1 260px}
.wrap-sm{flex-wrap:wrap;align-items:flex-end}
.cob-edit{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.cob-edit select{flex:1 1 240px;min-width:0}
.cob-edit.add select{border-style:dashed}
.dias{display:inline-flex;gap:4px}
.dia{position:relative;display:inline-flex}
.dia input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.dia span{width:36px;height:36px;border-radius:8px;border:1px solid #B9C1CA;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--ink-2);background:#fff}
.dia input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.dia input:focus-visible + span{outline:3px solid #E8A23A;outline-offset:2px}
.table.compact{min-width:640px}
.table .in{font:inherit;font-size:15px;min-height:40px;padding:6px 10px;border:1px solid #B9C1CA;border-radius:8px;width:100%;background:#fff}
.table-wrap.flat{border:0}
.new-row td{background:#F8F9FA}
@media (max-width:560px){ .cob{grid-template-columns:auto minmax(0,1fr)} .cob .muted{grid-column:2} .dia span{width:34px;height:34px} }
.table .in.hora{width:6.5em;font-family:"IBM Plex Mono",ui-monospace,monospace}
.table.compact td:first-child .in{min-width:11em}

/* Matriz de turnos del puesto */
.matriz{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.mz-head,.mz-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 150px;gap:8px;align-items:center;padding:8px 12px}
.mz-head{background:#F4F5F7;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.mz-head span:not(:first-child){text-align:center}
.mz-row{border-top:1px solid var(--line-2)}
.mz-t{font-size:14px}
.tog{position:relative;display:flex;justify-content:center}
.tog input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tog span{min-width:88px;min-height:38px;padding:0 10px;border-radius:8px;border:1px solid #B9C1CA;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--ink-2);background:#fff}
.tog input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.tog input:focus-visible + span{outline:3px solid #E8A23A;outline-offset:2px}
details.esp summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink-2);min-height:36px;display:flex;align-items:center}
details.esp{display:flex;flex-direction:column;gap:8px}
.turnos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.turnos li{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:14px;align-items:baseline}
.turnos .g{color:var(--muted);min-width:12em}
.turnos .chipt{font-family:"IBM Plex Mono",ui-monospace,monospace;background:#EEF1F4;border-radius:6px;padding:1px 7px;font-size:13px}
.fer{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:14px}
@media (max-width:560px){
  .mz-head{display:none}
  .mz-row{grid-template-columns:1fr 1fr;padding:10px}
  .mz-t{grid-column:1 / -1}
  .tog span{min-width:0;width:100%}
}
.stack.pad{padding:0 16px}
.main.wide .stack.pad{padding:0}
.contacts li.past{opacity:.55}
.contacts .check{display:flex;gap:6px;align-items:center;font-size:13px;min-height:36px}

/* Matriz por día (L M X J V S D F) */
.mz-head,.mz-row{grid-template-columns:minmax(150px,1fr) repeat(8,40px);gap:6px}
.mz-head span{text-align:center}
.mz-head span:first-child{text-align:left}
.mz-head .fer-h{color:var(--accent)}
.tog.d span{min-width:0;width:40px;height:38px;padding:0}
.tog.fer span{border-style:dashed;border-color:#C48A3A}
.tog.fer input:checked + span{background:#8A4B00;border-color:#8A4B00;border-style:solid}
.mz-cap{font-size:13px;font-weight:600;color:var(--ink-2);margin:2px 0 -2px}
details.esp > summary{list-style:none}
details.esp > summary::-webkit-details-marker{display:none}
.check.inline{display:inline-flex;flex-direction:row;gap:10px;align-items:center;font-weight:600}
@media (max-width:560px){
  .mz-head{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:8px}
  .mz-head span:first-child{display:none}
  .mz-row{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:8px}
  .tog.d span{width:100%}
}
.alt-box{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.danger-card{border-color:#E3B3B3;background:#FFF8F8;margin-top:8px}
.danger-card h2{color:var(--danger)}
.form-inline{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink-2)}
.form-inline input{font:inherit;font-size:16px;min-height:44px;padding:8px 12px;border:1px solid #B9C1CA;border-radius:8px;max-width:220px}

/* Foto tipo carnet */
img.avatar{object-fit:cover;display:block;background:#E4E8EE}
.ficha-id{display:flex;align-items:center;gap:16px;margin-top:6px}
.ficha-foto{width:88px;height:88px;border-radius:12px;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.25);background:#2A3B4D}
.ficha-foto.vacia{display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;color:#B8C2CC}
.ficha-id h1{margin-top:0}
.foto-card{margin:12px 16px 0}
.foto-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.foto-crop{width:200px;height:200px;border-radius:12px;overflow:hidden;background:#EEF1F4;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.foto-crop img,.foto-crop canvas{width:100%;height:100%;object-fit:cover;display:block;touch-action:none;cursor:grab}
.foto-vacia{color:var(--muted);font-size:14px}
.foto-acciones{display:flex;flex-direction:column;gap:10px;flex:1 1 200px;align-items:flex-start}
.file-btn{position:relative;overflow:hidden}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.zoom{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink-2)}
.zoom input{width:160px}
@media (max-width:560px){ .foto-card{margin:8px 8px 0} .foto-crop{width:100%;height:auto;aspect-ratio:1} }

/* Ver contraseña */
.pw{position:relative;display:block}
.pw input{padding-right:52px!important;width:100%}
.ver-clave{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:40px;border:0;background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ver-clave.on{color:var(--ink);background:#EEF1F4}
.ver-clave:focus-visible{outline:3px solid #E8A23A}
.login .form > label[for]{font-size:14px;font-weight:600;color:var(--ink-2);margin-bottom:-4px}

/* Compartir */
.txt-compartir{margin:0;white-space:pre-wrap;font:14px/1.5 "IBM Plex Sans",system-ui,sans-serif;background:#F4F5F7;border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--ink-2);overflow-wrap:anywhere}
.wrap-btns{flex-wrap:wrap}

/* Asignaciones y cobertura */
.asig-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.asig-list li{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line-2)}
.asig-list li:first-child{border-top:0}
.asig-list.past li{opacity:.7}
.asig-acc{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.asig-acc label{display:flex;flex-direction:column;gap:2px;font-weight:600;color:var(--ink-2)}
.asig-acc input{font:inherit;font-size:14px;min-height:40px;padding:4px 8px;border:1px solid #B9C1CA;border-radius:8px}
.semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.semana label{font-size:13px}
.semana select{padding:6px 4px!important;font-size:14px!important}
.rellenar label{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:8px!important}
.rellenar select{width:auto!important}
.cobertura{gap:14px}
.cob-puesto{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line-2);padding-top:12px}
.table.grilla{min-width:720px;font-size:13px}
.table.grilla th,.table.grilla td{padding:8px 6px;text-align:center;vertical-align:middle}
.table.grilla th[scope=row]{text-align:left}
.table.grilla .hoy{background:#FFF7E8}
.table.grilla th.cfer{color:var(--accent)}
.pers{display:inline-block;font-size:12px;font-weight:600;background:#E3ECF6;color:var(--blue-ink);border-radius:6px;padding:2px 6px;margin:1px;text-decoration:none;white-space:nowrap}
.pers.aj{font-style:italic;background:#EDE7F6;color:#3E2A6B}
.pers.f{background:#ECEEF1;color:var(--ink-2);font-weight:500}
.pers.x{background:var(--warn-bg);color:var(--warn-ink)}
.badge.rojo{background:#FBE3E3;color:#7A1414}
.francos th,.francos td{background:#FAFBFC}
.prox{display:grid;grid-template-columns:1fr;gap:4px;margin-top:6px;font-size:14px}
.prox > div{display:flex;gap:12px;padding:4px 8px;border-radius:6px}
.prox > div.hoy{background:#FFF7E8}
.prox .d{min-width:58px;font-weight:600;color:var(--ink-2)}
@media (max-width:560px){ .semana{grid-template-columns:repeat(4,minmax(0,1fr))} }

/* Grilla: francos en rosa, feriados marcados, más ancho en PC */
.pers.f{background:#FCE4EC;color:#8A1C3F;font-weight:600}
.francos th{color:#8A1C3F}
.francos td{background:#FFF5F8}
.pers.lf{background:#F3E8D3;color:#6B3900;font-weight:500}
.table.grilla th.cfer{background:#FDF0E1;color:#7A4100}
.table.grilla td.cfer{background:#FFF9F0}
.table.grilla .francos td.cfer{background:#FFF0F3}
.fer-tag{display:block;margin:3px auto 0;width:max-content;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#C77A12;color:#fff;border-radius:999px;padding:1px 7px}
.main.wide .ficha-head{margin:12px 0 0}
.main.wide .ficha-head + .stack{padding:16px 0}
.table.grilla{table-layout:fixed}
.table.grilla th:first-child{width:104px}
@media (min-width:1000px){ .table.grilla{min-width:0} }

/* Exportar */
.export-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.export-bar select{font:inherit;font-size:14px;min-height:40px;border:1px solid #B9C1CA;border-radius:8px;padding:0 8px;background:#fff}
/* Vista para imprimir */
.print-page{background:#fff;padding:24px;max-width:1400px;margin:0 auto}
.print-bar{display:flex;gap:10px;margin-bottom:16px}
.print-head h1{font-size:22px}
.print-head p{color:var(--muted);margin:4px 0 12px}
.print-puesto{font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);margin:16px 0 6px}
.print-grilla{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}
.print-grilla th,.print-grilla td{border:1px solid #C9D0D8;padding:6px 4px;text-align:center;vertical-align:middle}
.print-grilla th:first-child{width:90px}
.print-grilla thead th{background:#F4F5F7}
.print-grilla .cfer{background:#FDF0E1}
.print-grilla .fr td,.print-grilla .fr th{background:#FFF0F3;color:#8A1C3F}
.print-grilla .sc{color:#A32222}
.print-pie{font-size:11px;color:var(--muted);margin-top:12px}
@media print{
  .no-print{display:none!important}
  .print-page{padding:0}
  @page{size:landscape;margin:10mm}
  .print-grilla{page-break-inside:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.export-bar .sep{width:1px;height:28px;background:var(--line);margin:0 4px}
.print-grilla.mes{font-size:9px}
.print-grilla.mes th:first-child{width:62px}

/* Color por vigilador (rosa reservado para francos) */
.pers.pc0,.pp.pc0,th.pc0{background:#DCE8F7;color:#173A5E}
.pers.pc1,.pp.pc1,th.pc1{background:#D3F0EA;color:#0D5C50}
.pers.pc2,.pp.pc2,th.pc2{background:#FBE9C2;color:#6B4700}
.pers.pc3,.pp.pc3,th.pc3{background:#E7E0F6;color:#3E2A6B}
.pers.pc4,.pp.pc4{background:#E2EFD2;color:#3C5A12}
.pers.pc5,.pp.pc5{background:#E3E7EC;color:#2C3640}
.pers.pc6,.pp.pc6{background:#F6E1D3;color:#6B3414}
.pers.pc7,.pp.pc7{background:#D6EEF8;color:#0E4A66}
.pers.aj{font-style:italic;outline:1.5px dashed currentColor;outline-offset:-1.5px}
.pp{display:inline-block;padding:1px 4px;border-radius:4px;font-weight:600}
/* Navegación semanal */
.sem-nav{display:flex;align-items:center;gap:10px}
.sem-tit{flex:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.sem-flecha{width:44px;height:44px;border-radius:50%;border:1px solid #C9D0D8;display:flex;align-items:center;justify-content:center;color:var(--ink);background:#fff;flex-shrink:0;text-decoration:none}
.sem-flecha:hover{border-color:var(--ink);background:#F4F5F7}
.sem-ir{display:flex;gap:10px;align-items:center}
.sem-ir input{font:inherit;font-size:14px;min-height:38px;border:1px solid #B9C1CA;border-radius:8px;padding:0 8px}
/* Vista previa rotación */
.rot-prev{overflow-x:auto}
.rot-tabla{border-collapse:collapse;font-size:12px;min-width:640px}
.rot-tabla th,.rot-tabla td{border:1px solid var(--line);padding:5px 4px;text-align:center}
.rot-tabla th[class^=pc]{text-align:left;white-space:nowrap;padding:5px 8px}
.rp-D{background:#FFF4CC;color:#6B4700;font-weight:600}
.rp-N{background:#DCE6FA;color:#173A5E;font-weight:600}
.rp-F{background:#FCE4EC;color:#8A1C3F;font-weight:700}
.esp-nuevo{border-top:1px solid var(--line-2);padding-top:12px;display:flex;flex-direction:column;gap:8px;clear:both}
.esp-nuevo input{max-width:120px}

/* Sección Grillas */
.alertas{gap:12px}
.chips.sin-pad{padding:0}
.al-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;align-items:start}
.al{border:1px solid var(--line);border-radius:10px;background:#fff}
.al summary{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.al summary::-webkit-details-marker{display:none}
.al-n{font-size:24px;font-weight:700;min-width:36px;text-align:center}
.al-t{font-weight:600;font-size:14px}
.al-rojo .al-n{color:#A32222}.al-rojo{border-left:4px solid #D64545}
.al-naranja .al-n{color:#A15C00}.al-naranja{border-left:4px solid #E8A23A}
.al-azul .al-n{color:#173A5E}.al-azul{border-left:4px solid #2F6FDB}
.al-gris .al-n{color:var(--muted)}.al-gris{border-left:4px solid #9AA5B1}
.al.cero{opacity:.65;border-left-color:#C9D0D8}.al.cero .al-n{color:#1F6B3A}
.al[open]{grid-column:1 / -1}
.al-lista{list-style:none;margin:0;padding:0 14px 12px;display:flex;flex-direction:column;max-height:360px;overflow:auto}
.al-lista li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) auto;gap:8px 14px;padding:8px 0;border-top:1px solid var(--line-2);font-size:14px;align-items:center}
.al-acc{display:flex;gap:12px}
.al > p{padding:0 14px 12px}
.g-filtros{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.small-search{min-height:42px;flex:1 1 260px;border:1px solid #B9C1CA}
.small-search input{font-size:15px}
.btn-link{background:none;border:0;cursor:pointer;font:inherit;padding:8px 4px}
.g-obj{border:1px solid var(--line);border-radius:10px;padding:0 12px}
.g-obj > summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 0;cursor:pointer}
.g-nom{font-weight:700}
.g-badges{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.g-obj[open]{padding-bottom:12px}
button.pers{border:0;cursor:pointer;font-family:inherit}
a.badge.rojo{text-decoration:none}
.det{border:0;border-radius:14px;padding:20px;max-width:420px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.det::backdrop{background:rgba(11,27,68,.45)}
.det-cerrar{position:absolute;top:10px;right:10px}
.det-nom{font-size:18px;text-transform:none;letter-spacing:0;color:var(--ink);margin-right:44px}
.det p{margin:6px 0}
.det-turno{font-weight:600}
.det .row{margin-top:10px}
@media (max-width:560px){ .al-lista li{grid-template-columns:1fr} }

/* Deslizamiento al cambiar de semana */
@keyframes sale-izq{to{transform:translateX(-40px);opacity:0}}
@keyframes sale-der{to{transform:translateX(40px);opacity:0}}
@keyframes entra-der{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes entra-izq{from{transform:translateX(-40px);opacity:0}to{transform:none;opacity:1}}
.sale-izq{animation:sale-izq .16s ease-in forwards}
.sale-der{animation:sale-der .16s ease-in forwards}
.entra-der{animation:entra-der .26s ease-out both}
.entra-izq{animation:entra-izq .26s ease-out both}
@media (prefers-reduced-motion: reduce){.sale-izq,.sale-der,.entra-der,.entra-izq{animation:none}}
.t-ico{font-size:1.05em;line-height:1}
.grilla th[scope=row]{white-space:nowrap}
.hs-mes{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:8px;font-size:14px}
.hs-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
@media print{.hs-mes{font-size:11px;margin:4px 0 10px}}

/* Control de ingresos */
.ing{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:6px;padding:3px 7px;margin:2px 0;font:600 13px/1.25 inherit;font-family:inherit;white-space:nowrap;background:#EEF1F4;color:#33414F}
button.ing{cursor:pointer}
button.ing:hover{filter:brightness(.96)}
.ing-ic{font-weight:700;min-width:0}
.ing-presente{background:#DDF3E4;color:#1F6B3A;border-color:#9FD8B2}
.ing-tarde{background:#FFF0CC;color:#8A5A00;border-color:#F0C766}
.ing-ausente{background:#FBE0E0;color:#A32222;border-color:#EBA3A3}
.ing-vencido{background:#fff;color:#A32222;border:2px dashed #D64545}
.ing-programado{background:#EEF1F4;color:#4A5866}
.ing-flash{animation:ingflash .7s ease-out}
@keyframes ingflash{0%{box-shadow:0 0 0 4px rgba(46,173,91,.45)}100%{box-shadow:0 0 0 0 rgba(46,173,91,0)}}
.ing-resumen{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#FAFBFC;font-size:14px}
.ing-resumen .ir{border-radius:999px;padding:3px 10px}
.ir-tit{font-weight:700}
.ing-tabla .ing-hora{vertical-align:top;font-size:16px;white-space:nowrap;background:#F4F6F8}
.ing-tabla .ing-lugar{min-width:210px;white-space:normal}
.ing-tabla .ing-lugar a{display:block;font-weight:700;color:inherit;text-decoration:none}
.ing-tabla .ing-lugar a:hover{text-decoration:underline}
.ing-tabla .ing-lugar .small{display:block;font-weight:400}
.ing-tabla tbody.ing-grupo{border-top:2px solid #C9D0D8}
.ing-tabla td{vertical-align:top}
.th-link{color:inherit;text-decoration:none}
.th-link:hover{text-decoration:underline}
.dias-tabs{display:flex;gap:6px;flex-wrap:wrap}
.chip.es-hoy{font-weight:700}
.ing-hgrupo{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.ing-hh{font-size:15px;margin:8px 0 2px;text-transform:none;letter-spacing:0;color:var(--ink)}
.ing-item{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.ing-item .ing{font-size:14px;padding:6px 10px;justify-self:start}
.ing-l{display:flex;flex-direction:column}
.ing-acc{display:flex;gap:6px}
.ok-btn{background:#DDF3E4;border-color:#9FD8B2;color:#1F6B3A}
.ing-ley{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ing-ops{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.ing-op{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-weight:600;cursor:pointer}
.ing-op input{width:18px;height:18px}
.ing-form label:not(.ing-op){display:flex;flex-direction:column;gap:4px;margin:8px 0;font-size:14px}
.error-txt{color:#A32222}
@media (max-width:640px){ .ing-item{grid-template-columns:1fr} .ing-acc .btn{flex:1;min-height:44px} }

/* Coberturas especiales */
.esp-tag{display:block;margin-top:3px;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#5B2E9E;background:#EFE6FB;border-radius:4px;padding:1px 5px;width:max-content;margin-inline:auto}
.esp-lista{list-style:none;margin:0;padding:0}
.esp-lista li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:10px 0;border-top:1px solid var(--line-2);font-size:14px}
.esp-card .note{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.esp-dia label{display:flex;flex-direction:column;gap:4px;max-width:240px}
.esp-hab{margin:4px 0 0}
.esp-filas{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.esp-fila{display:grid;grid-template-columns:minmax(130px,170px) minmax(0,1fr) auto;gap:8px;align-items:center}
.esp-libres{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:6px}
.esp-libres li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}
.esp-libres select{max-width:170px}
@media (max-width:560px){ .esp-fila{grid-template-columns:1fr auto} .esp-fila select:first-child{grid-column:1 / -1} }
.esp-form .esp-libres select{width:auto;min-width:150px;min-height:40px}
.esp-form .esp-fila select{min-height:44px}
.esp-form fieldset.card{display:flex;flex-direction:column;gap:10px}

/* Supervisión */
.sup-filtros{display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:16px;gap:10px 14px;align-items:flex-end}
.sup-filtros label:not(.check){display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--ink-2)}
.sup-filtros select,.sup-filtros input[type=date]{font:inherit;font-size:15px;min-height:42px;padding:6px 10px;border:1px solid #B9C1CA;border-radius:8px;background:#fff;max-width:240px}
.sup-pend{padding:0}
.sup-lista,.sup-elegir{list-style:none;margin:0;padding:0}
.sup-lista li a{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:6px 16px;padding:12px 4px;border-top:1px solid var(--line-2);color:inherit;text-decoration:none;align-items:center}
.sup-lista li a:hover{background:#F7F9FB}
.sup-f,.sup-o{display:flex;flex-direction:column;gap:2px}
.sup-obs-txt{color:var(--ink-2)}
.sup-r{white-space:nowrap}
.sup-elegir{margin-top:10px}
.sup-elegir a{display:flex;justify-content:space-between;gap:10px;padding:12px 4px;border-top:1px solid var(--line-2);color:inherit;text-decoration:none}
.sup-gps{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sup-pers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sup-items{margin:0;padding-left:22px;display:flex;flex-direction:column}
.sup-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line-2)}
.sup-item.falta{background:#FFF4F4;box-shadow:inset 3px 0 0 #D64545;padding-left:8px}
.sup-item.es-obs .sup-txt{color:#8A5A00;font-weight:600}
.sup-com{grid-column:1 / -1}
.sup-res{display:flex;gap:6px}
.sup-res label{position:relative;cursor:pointer}
.sup-res input{position:absolute;opacity:0;width:1px;height:1px}
.sup-res span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:42px;padding:0 10px;border:1px solid #B9C1CA;border-radius:8px;font-weight:700;background:#fff}
.sup-res input:focus-visible + span{outline:3px solid #2F6FDB;outline-offset:1px}
.sr-ok input:checked + span{background:#DDF3E4;border-color:#2EAD5B;color:#1F6B3A}
.sr-obs input:checked + span{background:#FFF0CC;border-color:#E8A23A;color:#8A5A00}
.sr-na input:checked + span{background:#EEF1F4;border-color:#7A8794;color:#33414F}
.sup-items.ver .sup-item{grid-template-columns:minmax(0,1fr) auto}
.sup-txt{display:flex;flex-direction:column;gap:2px}
.sup-c{color:#8A5A00}
.sup-badge{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.r-ok .sup-badge{background:#DDF3E4;color:#1F6B3A}
.r-obs .sup-badge{background:#FFF0CC;color:#8A5A00}
.r-na .sup-badge{background:#EEF1F4;color:#4A5866}
.txt-warn{color:#A15C00}.txt-ok{color:#1F6B3A}
.chk-rows{display:flex;flex-direction:column;gap:8px}
.chk-row{display:grid;grid-template-columns:84px minmax(0,1fr) 60px;gap:10px;align-items:center}
.chk-row.off input[name^=texto]{color:var(--muted);text-decoration:line-through}
.chk-head{font-weight:600}
.chk-gen{margin:0;padding-left:22px;columns:2;column-gap:28px}
@media (max-width:640px){ .sup-lista li a{grid-template-columns:1fr} .sup-item{grid-template-columns:1fr} .chk-gen{columns:1} }
@media print{ .no-print{display:none!important} }
.sup-txt .badge{align-self:flex-start}
.esp-tag.fm{color:#1F6B3A;background:#DDF3E4}
.ing-camino{background:#E3EEFC;color:#173F8F;border-color:#9DBCEB}
.ing-sin_aviso{background:#FFF4E5;color:#A15C00;border:2px solid #E8A23A}
.ing-alerta{border-radius:10px;padding:10px 14px;background:#FFF4E5;border:1px solid #E8A23A;color:#7A4600;font-weight:600;font-size:14px}
.esp-tag.ev{color:#7A3E00;background:#FFE7C7}
.chip input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
label.chip{cursor:pointer;position:relative}
.esp-fechas{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 8px}
.esp-fecha{display:inline-flex;align-items:center;gap:4px}
.esp-fecha input{min-height:42px}
.esp-area legend .badge,.esp-puesto legend .badge{margin-left:6px;vertical-align:middle}
.hasta-mes{align-self:end;min-height:44px}
.prox.cargando{opacity:.45;transition:opacity .15s}
.prox-tit{margin:0 0 4px}
.prox .finde .d{font-weight:700}
.prox .ic{width:2.4em;text-align:center;flex:none}
.prox .d{min-width:74px}
.prox .sin > span:last-child{color:var(--muted)}
.lote-bar{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---------- DySite CORE: módulos y precarga ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-emp{font-weight:500;color:#C9D3E6;font-size:13px;padding-left:10px;border-left:1px solid rgba(255,255,255,.22);line-height:1.2}
.precarga.login{max-width:600px}
.precarga-sub{color:#D5DCE3;margin-top:6px}
.pc-grupo{border:0;border-top:1px solid var(--line-2);margin:4px 0 0;padding:12px 0 0;display:flex;flex-direction:column;gap:12px;min-width:0}
.pc-grupo legend{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 0 4px}
.pc-contacto{display:grid;grid-template-columns:22px repeat(3,minmax(0,1fr));gap:8px;align-items:end;padding:6px 0;border-top:1px dashed var(--line-2)}
.pc-contacto .n{font-weight:700;color:var(--muted);padding-bottom:12px}
.pc-objetivos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 14px;max-height:340px;overflow-y:auto;padding:4px 2px}
.form .pc-buscar,.pc-buscar{font:inherit;font-size:16px;min-height:42px;padding:8px 12px;border:1px solid #B9C1CA;border-radius:8px;width:100%;background:#fff}
.pc-trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.obj-chips{display:flex;flex-wrap:wrap;gap:6px}
.obj-chips .chipt{text-decoration:none}
.mod-item{border-top:1px solid var(--line-2);padding:12px 0!important}
.mod-item:first-of-type{border-top:0}
.mod-item > span{display:flex;flex-direction:column;gap:2px}
.mod-desc{display:block}
@media (max-width:560px){
  .pc-contacto{grid-template-columns:22px 1fr}
  .pc-contacto label{grid-column:2}
  .pc-contacto .n{grid-row:span 3;align-self:start;padding:30px 0 0}
}
.obj-chips .chipt{background:#EEF1F4;border-radius:6px;padding:3px 9px;font-size:14px;color:var(--ink)}

/* ---------- Inicio ---------- */
.home-head{background:var(--navy);color:#fff;border-radius:0 0 var(--r) var(--r);margin:0 -16px 22px;padding:26px 24px 24px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end;justify-content:space-between}
.home-head h1{font-size:28px;margin-top:6px}
.home-fecha{color:#B8C2CC;margin-top:4px}
.home-avisos{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}
.home-avisos a{display:block;background:var(--warn-bg);color:var(--warn-ink);text-decoration:none;border-radius:8px;padding:8px 12px;font-size:14px}
.home-avisos a .muted{color:var(--warn-ink);opacity:.8}
.home-avisos a:hover{filter:brightness(.97)}
.home-grupo{margin:0 0 22px}
.home-grupo h2{margin:0 0 10px 2px}
.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.tile{--tc:var(--navy);--tb:#E8ECF0;display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);min-height:84px;transition:border-color .15s,box-shadow .15s,transform .15s}
.tile:hover{border-color:var(--tc);box-shadow:0 4px 14px rgba(11,27,68,.10);transform:translateY(-1px)}
.tile:focus-visible{outline:3px solid var(--tc);outline-offset:2px}
.tile-ico{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--tb);color:var(--tc)}
.tile-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.tile-tit{font-weight:700;font-size:17px}
.tile-desc{font-size:13px;color:var(--muted);line-height:1.3}
.tile-num{flex:none;display:flex;flex-direction:column;align-items:flex-end;text-align:right;max-width:92px}
.tile-num b{font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.tile-num small{font-size:11px;color:var(--muted);line-height:1.2;margin-top:3px}
.tile-alerta{border-color:#E6B980;background:#FFFBF5}
.tile-alerta .tile-num b{color:var(--warn-ink)}
.c-op .tile{--tc:#0757B8;--tb:#E3EEFC}
.c-per .tile{--tc:#A84F00;--tb:#FFF0DE}
.c-obj .tile{--tc:#B8101A;--tb:#FDE7E8}
.c-adm .tile{--tc:var(--brand-navy);--tb:#E6EAF3}
@media (max-width:560px){
  .home-head{margin:0 -12px 18px;padding:20px 16px}
  .home-head h1{font-size:24px}
  .home-grid{grid-template-columns:1fr 1fr;gap:10px}
  .tile{flex-direction:column;align-items:flex-start;gap:10px;padding:14px;min-height:0;position:relative}
  .tile-desc{display:none}
  .tile-num{position:absolute;top:14px;right:14px}
  .tile-num small{display:none}
  .tile-tit{font-size:15px}
  .tile-ico{width:42px;height:42px}
}
@media (prefers-reduced-motion:reduce){.tile{transition:none}.tile:hover{transform:none}}

/* ---------- Marca ---------- */
.top{position:relative}
.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--brand-grad)}
.login-logo{display:block;width:220px;max-width:70%;height:auto;margin:2px 0 14px}
.login-head{position:relative;overflow:hidden}
.login-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--brand-grad)}
.home-head{position:relative;overflow:hidden}
.home-head::before{content:"";position:absolute;right:-60px;top:-70px;width:320px;height:320px;background:url(isotipo.png) center/contain no-repeat;opacity:.09;pointer-events:none}
.home-head > *{position:relative}
.powered{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px;text-decoration:none;margin-top:4px}
.powered img{height:18px;width:auto}
.footnote-brand{display:flex;align-items:center;gap:8px}
.footnote-brand img{height:22px;width:auto}
@media (max-width:560px){.brand-logo{height:26px}.brand-emp{font-size:12px}}
.term-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
@media (max-width:560px){.term-grid{grid-template-columns:1fr}}
/* Puesta en marcha (Inicio, superadmin) */
.pem{margin-bottom:22px;border-color:var(--brand-blue)}
.pem h2{margin:0}
.pem-pasos{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.pem-pasos a{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);background:#fff}
.pem-pasos a:hover{border-color:var(--brand-blue)}
.pem-pasos a > span:last-child{display:flex;flex-direction:column;gap:2px}
.pem-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:#E3EEFC;color:#0757B8}
.pem-pasos li.ok a{background:var(--ok-bg);border-color:transparent}
.pem-pasos li.ok .pem-n{background:#1F7A3F;color:#fff}

/* ---------- Consola DySite ---------- */
.cons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:14px;margin-bottom:22px}
.cons-cli{display:flex;flex-direction:column;gap:12px;margin:0}
.cons-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.cons-tit{font-size:19px;margin:0 0 2px;text-transform:none;letter-spacing:0;color:var(--ink)}
.cons-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;margin:0}
.cons-num div{background:#F4F6FA;border-radius:10px;padding:8px 10px;min-width:0}
.cons-num dt{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.cons-num dd{margin:2px 0 0;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.cons-num dd.warn{color:var(--warn-ink)}
.cons-err{border-color:#E6B980;background:#FFFBF5}
.cons-nuevo summary{cursor:pointer;padding:4px 0}
.cons-nuevo form{margin-top:14px}
.flash.error{background:#FDE7E8;color:#8A1018}
/* Barra de soporte dentro de un cliente (entrada desde la Consola) */
.soporte{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:#FFF4E5;color:#6B3A00;border-bottom:1px solid #F2C894;padding:7px 16px;font-size:14px}
.soporte b{font-weight:700}
.soporte form{display:flex;gap:6px;align-items:center;margin:0}
.soporte select{font:inherit;font-size:14px;padding:4px 8px;border:1px solid #E0B57A;border-radius:6px;background:#fff;min-height:32px}
.soporte .btn{min-height:32px;padding:4px 10px}
.soporte a{color:#6B3A00;font-weight:600}
.soporte .sp{flex:1}
@media (max-width:560px){.cons-grid{grid-template-columns:1fr}}
.elim-inact{margin:24px 16px}.main.wide .elim-inact{margin:24px 0}.elim-inact summary{cursor:pointer;font-weight:600;color:#8A1018}.elim-inact form{margin-top:12px}
.ver-como{background:#E8F0FD;color:#0B2E66;border-bottom-color:#B7CCF0}.ver-como b{color:#0B2E66}form.inline{display:inline}
.perf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 16px}
.perf-grid .check span .hint{display:block}
.perf-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:12px;margin-top:12px}
.perf-item{margin:0;display:flex;flex-direction:column;gap:8px}
/* Usuarios: acciones alineadas a la derecha */
.acciones{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:nowrap}
.acciones form{margin:0}
.acciones .btn{white-space:nowrap}
.table.usuarios{min-width:0}
.acceso-movil{display:none}
@media (max-width:720px){
  .table.usuarios .col-acceso{display:none}
  .acceso-movil{display:inline}
  .acciones{flex-direction:column;align-items:flex-end;gap:6px}
}
/* Resumen de supervisión */
.seg{display:inline-flex;border:1px solid #B9C1CA;border-radius:8px;overflow:hidden;background:#fff}
.seg a{white-space:nowrap;padding:7px 12px;font-size:14px;text-decoration:none;color:var(--ink-2);border-left:1px solid #B9C1CA}
.seg a:first-child{border-left:0}
.seg a.on{background:var(--navy);color:#fff;font-weight:600}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.kpi-n{font-size:30px;font-weight:700;line-height:1.1;color:var(--ink)}
.kpi-n small{font-size:16px;color:var(--muted);font-weight:600}
.kpi-t{font-weight:600;font-size:14px;color:var(--ink-2)}
.kpi-s{font-size:13px;color:var(--muted)}
.kpi-alerta{border-left:4px solid #E8A23A}
.kpi-alerta .kpi-n{color:#A15C00}
.sup-sem th[scope=row]{font-weight:600;white-space:nowrap}
.sup-sem td,.sup-sem th{padding:6px 6px}
.cel{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;border-radius:6px;font-weight:600;font-size:14px;color:var(--ink-2)}
.cel.t0{color:#9AA5B1}
.cel.t1{background:#E3ECF6;color:#173A5E}
.cel.t2{background:#B9D0EC;color:#173A5E}
.cel.t3{background:#5C93D6;color:#fff}
.cel.t4{background:#1E5BB0;color:#fff}
.sup-graf{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:16px}
.barras{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.barras li{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr) 4.2em;gap:10px;align-items:center;font-size:14px}
.b-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);text-decoration:none}
.b-lbl:hover{text-decoration:underline}
.b-pista{display:block;width:100%;height:18px;background:var(--line-2);border-radius:4px}
.b-barra.azul{fill:#2F6FDB}
.b-barra.naranja{fill:#E8A23A}
.b-barra.gris{fill:#9AA5B1}
.barras li:hover .b-barra{opacity:.85}
.b-val{text-align:right;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}
.b-val.alerta{color:#A15C00}
.b-nota{margin-top:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.b-ref{display:inline-block;width:12px;height:12px;border-radius:3px}
.b-ref.naranja{background:#E8A23A}.b-ref.gris{background:#9AA5B1}
@media (max-width:560px){ .barras li{grid-template-columns:minmax(0,1fr) 3.6em;gap:2px 10px} .barras .b-lbl{grid-column:1 / -1} .barras{gap:12px} }
.sup-realizadas{margin-top:16px}
.sup-filtros .check.inline{min-height:42px}
/* Licencias */
.badge.teal{background:#DDF3EF;color:#0F5B50}
.txt-alerta{color:#A15C00}
.lic-note{margin:0 0 8px;padding:10px 14px}
.lic-quien{margin:0}
.lic-borrar{display:flex;justify-content:flex-end;margin-top:-6px}
.lic-grupo{margin-bottom:16px}
.pers.lic{background:#FFF4E2;color:#8A4B00;border-color:#F3D3A2}
.b-sub{color:var(--muted);font-size:13px}
.b-sub.alerta{color:#A15C00}
.tmp-txt{color:#1E4F8F}
.tmp-modo{border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:8px;margin:0}
.tmp-modo legend{font-weight:600;padding:0 4px}
.tmp-caja{padding:4px 0 6px 26px;display:flex;flex-direction:column;gap:10px}
.tmp-form .semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
@media (max-width:560px){.tmp-form .semana{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tmp-modo > label.check{display:flex;align-items:center;gap:10px;margin:0}
.sr-tabla td{padding:6px}
.sr-tabla input,.sr-tabla select{width:100%}
.badge.resum{background:#EEF1F5;color:#4A5563}
/* Fechas dd/mm/aa con calendario */
.dp-orig{display:none!important}
.dp{position:relative;display:inline-flex;align-items:stretch;gap:6px;vertical-align:middle}
.dp .dp-txt,.dp .dp-h{font:inherit;font-size:15px;color:var(--ink);min-height:40px;padding:6px 10px;border:1px solid #B9C1CA;border-radius:8px;background:#fff;width:8.2em;font-variant-numeric:tabular-nums}
.dp .dp-h{width:5.2em}
.form .dp,.fields .dp,.sr-tabla .dp,.grid2 .dp{display:flex;width:100%}
.form .dp .dp-txt{flex:1 1 auto;min-width:0;width:auto}
.form .dp .dp-h{flex:0 0 5.5em;width:5.5em}
.sup-filtros .dp .dp-txt{min-height:42px}
.dp-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;border:1px solid #B9C1CA;border-radius:8px;background:#fff;color:var(--ink-2);cursor:pointer}
.dp-btn:hover{background:var(--line-2)}
.dp-btn:disabled{opacity:.5;cursor:default}
.dp-pop{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:300px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(15,30,60,.18);padding:10px}
.dp-cab{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.dp-cab .dp-sel{flex:1 1 auto;min-height:34px!important;padding:4px 6px!important;font-size:14px!important;width:auto!important;border:1px solid #B9C1CA;border-radius:6px;background:#fff}
.dp-nav{width:34px;height:34px;border:0;border-radius:8px;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--ink-2)}
.dp-nav:hover{background:var(--line-2)}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dp-dsem{text-align:center;font-size:12px;font-weight:600;color:var(--muted);padding:4px 0}
.dp-dia{height:36px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
.dp-dia:hover{background:var(--line-2)}
.dp-dia.hoy{box-shadow:inset 0 0 0 1.5px var(--navy)}
.dp-dia.sel{background:var(--navy);color:#fff;font-weight:700}
.dp-dia:disabled{color:#C3CAD3;cursor:default;background:transparent}
.dp-dia:focus-visible,.dp-nav:focus-visible,.dp-link:focus-visible{outline:2px solid #E8A23A;outline-offset:1px}
.dp-pie{display:flex;justify-content:space-between;margin-top:8px}
.dp-link{border:0;background:transparent;color:var(--navy);font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:4px 6px;text-decoration:underline}
.badge.gray{background:#EEF1F5;color:#4A5563}
.hist-card .asig-list li strong .badge{margin-left:4px;vertical-align:middle}
tr.lic-fila th,tr.lic-fila td{background:#FFF8EC}
tr.lic-fila th{color:#8A4B00;font-weight:600}
.per-der{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;text-align:right}
/* Grilla del franquero */
.fq-tabla td,.fq-tabla th{padding:7px 8px;vertical-align:middle}
.fq-tabla select{font:inherit;font-size:14px;min-height:36px;padding:4px 8px;border:1px solid #B9C1CA;border-radius:8px;background:#fff;max-width:100%}
.fq-tabla tr.fq-pendiente{background:#FFF8EC}
.fq-tabla tr.finde th{color:var(--navy)}
.prox .pend{color:#A15C00}
.fq-tabla{table-layout:fixed;width:100%}
.fq-tabla th:first-child{width:118px}
.fq-tabla th:last-child,.fq-tabla td:last-child{width:300px}
.fq-tabla select{width:100%}
@media (max-width:640px){.fq-tabla th:last-child,.fq-tabla td:last-child{width:46%}.fq-tabla th:first-child{width:84px}}
/* Botón tipo pastilla para accesos rápidos del encabezado */
.btn.pill{border-radius:999px;background:#fff;border:1px solid #C9D0D8;text-decoration:none;color:var(--navy);box-shadow:0 1px 2px rgba(15,30,60,.06)}
.btn.pill:hover{background:var(--line-2);border-color:#AEB8C4}
.btn.pill .pill-n{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:700}
.perf-usuarios{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:2px}
.perf-usuarios li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;border-top:1px solid var(--line-2);font-size:14px}
.perf-usuarios form{margin:0}
/* Novedades de grilla */
.nov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:22px}
.nov-card{display:flex;flex-direction:column;gap:10px;margin:0}
.nov-card h2{font-size:16px;margin:0;text-transform:none;letter-spacing:0;color:var(--ink)}
.nov-card p{margin:0}
.nov-card label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.nov-card select,.nov-card input{font:inherit;font-size:15px;min-height:40px;padding:6px 10px;border:1px solid #B9C1CA;border-radius:8px;background:#fff;font-weight:400}
.nov-card .btn{align-self:flex-start;margin-top:auto}
.nov-sub{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:6px 0 10px}
.btn.pill.primary-pill{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.pill.primary-pill:hover{filter:brightness(1.15);background:var(--navy)}
.btn.pill.primary-pill .pill-n{background:#fff;color:var(--navy)}
.dom-det{font-weight:500;color:var(--ink-2)}
.sup-sem th .small{font-weight:400}
.sup-sem th.fuera,.sup-sem td.fuera{opacity:.4}
.sup-sem td,.sup-sem th{min-width:56px}
.sup-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:10px 0 4px;text-align:center}
@media (max-width:560px){.sup-nav{grid-template-columns:1fr 1fr}.sup-nav b{grid-column:1/-1;grid-row:1}}
.prueba-card>p{padding:0 14px}
.prueba-lista .alerta{color:#A15C00;font-weight:600}
.prueba-acc{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.prueba-ficha.al-naranja,.prueba-ficha.al-azul{border-left-width:4px}
@media (max-width:560px){.prueba-acc{justify-content:flex-start}}
.prueba-lista li.pr-decidir,.prueba-lista li.pr-no_continua{margin:0 -14px;padding:8px 14px 8px 11px}
.prueba-lista li.pr-decidir{background:#FFF6E8;border-left:3px solid #E8A23A}
.prueba-lista li.pr-decidir .pr-txt{color:#A15C00;font-weight:600}
.prueba-lista li.pr-no_continua{background:#FDECEC;border-left:3px solid #D64545}
.prueba-lista li.pr-no_continua .pr-txt{color:#8E1B1B;font-weight:600}
.prueba-lista li.pr-en_prueba .pr-txt,.prueba-lista li.pr-continua .pr-txt{color:var(--ink-2)}
.prueba-card summary .rojo{color:#A32222}
.prueba-ficha.al-rojo{background:#FFF7F7}
.prueba-card summary .alerta{color:#A15C00}
.prueba-lista{max-height:480px}
.pr-no_continua .badge.rojo,.prueba-ficha.al-rojo .badge.rojo{background:#C62828;color:#fff}
.lf .search.small-search{margin:10px 0 8px}
.lf .chips{margin:0 0 6px}
.lf-res{margin:0 0 4px;min-height:1em}
.lf .chip .muted{margin-left:4px}
/* Select con buscador */
.cb{position:relative;margin-top:6px}
.cb-in{width:100%;box-sizing:border-box;min-height:46px;padding:10px 12px;border:1px solid #B9C1CA;border-radius:10px;font:inherit;font-size:16px;background:#fff;color:var(--ink)}
.cb-in:focus{outline:3px solid #E8A23A;outline-offset:0}
.cb-lista{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:#fff;border:1px solid #B9C1CA;border-radius:10px;box-shadow:0 8px 24px rgba(15,30,50,.14);max-height:260px;overflow-y:auto}
.cb-lista li{padding:10px 12px;border-radius:8px;cursor:pointer;font-weight:500}
.cb-lista li.on,.cb-lista li:hover{background:#EEF2F6}
.cb-lista li.cb-vacio{color:var(--muted);cursor:default;font-weight:400}
.card > label.small-search,.card > .search.small-search{flex:0 0 auto}
/* Gastos */
.gasto-kpis .kpi{text-decoration:none;color:inherit}
.gasto-kpis .kpi.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.gasto-kpis .kpi-n{font-size:22px}
.gasto-lista{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.gasto-item{gap:8px}
.gasto-item.gi-pendiente{border-left:4px solid #E8A23A}
.gasto-item.gi-rechazado{border-left:4px solid #D64545}
.gasto-item.gi-aprobado{border-left:4px solid #2E8B57}
.gasto-item.gi-pagado{border-left:4px solid #3B6EA8}
.gasto-cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.gasto-cab>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gasto-m{font-size:20px}
.gasto-det{display:flex;flex-direction:column;gap:2px}
.gasto-acc{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gasto-rech>summary{list-style:none;display:inline-flex}
.gasto-rech>summary::-webkit-details-marker{display:none}
.gasto-rech[open]{flex-basis:100%}
.gasto-rech form{margin-top:8px}
.gasto-rech input{flex:1 1 200px;min-height:40px;padding:6px 10px;border:1px solid #B9C1CA;border-radius:8px;font:inherit}
.gasto-aviso{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.gasto-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.gasto-cat{display:flex;align-items:center;gap:8px;border:1px solid #B9C1CA;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:500}
.gasto-cat:has(input:checked){border-color:var(--ink);background:#EEF2F6;box-shadow:inset 0 0 0 1px var(--ink)}
.gasto-cats{border:0;padding:0;margin:0}
.gasto-cats legend{font-weight:600;margin-bottom:6px}
.gasto-monto{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600}
.gasto-monto input{font-size:20px;font-weight:600}
.gasto-comp{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.gasto-comp .lbl{font-weight:600}
.gasto-file{position:relative;overflow:hidden;cursor:pointer}
.gasto-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
[data-gasto-file-txt].ok{color:#2E7D32;font-weight:600}
@media (max-width:560px){.gasto-cat-grid{grid-template-columns:1fr 1fr}.gasto-cat{font-size:14px;padding:10px}}
.form .gasto-cat{flex-direction:row;position:relative}
.gasto-cat input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.gasto-cat:focus-within{outline:3px solid #E8A23A}
.gasto-cat:has(input:checked)::after{content:"✓";margin-left:auto;font-weight:700}
.gasto-kpis{grid-template-columns:repeat(4,1fr)}
@media (max-width:720px){.gasto-kpis{grid-template-columns:1fr 1fr}.gasto-kpis .kpi-n{font-size:18px}}
.sup-filtros input[type=month]{min-height:42px;padding:6px 10px;border:1px solid #B9C1CA;border-radius:8px;font:inherit;background:#fff}
.al .al-ver{margin-left:auto;font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.al .al-ver::after{content:" ▾"}
.al[open] .al-ver{font-size:0}
.al[open] .al-ver::before{content:"Ocultar";font-size:13px}
.al[open] .al-ver::after{content:" ▴";font-size:13px}
.prueba-card#prueba{margin:12px 0 4px}
/* Nómina y listas: mismo ancho para el aviso, el encabezado, los filtros y la lista */
.people{padding:0 16px}
.chips{padding-left:16px;padding-right:16px}
.result{padding-left:18px;padding-right:16px}
.prueba-card#prueba{margin:12px 16px 4px}
@media (max-width:560px){
  .people{padding:0 8px}
  .chips{padding-left:8px;padding-right:8px}
  .result{padding-left:10px}
  .prueba-card#prueba{margin:8px 8px 0}
}
.lf .chips{padding-left:0;padding-right:0}
.prueba-card#prueba{padding:0;gap:0}.prueba-card#prueba[open]{padding-bottom:10px}
@media (max-width:560px){
  .list-head > .row.between{flex-wrap:wrap;gap:12px}
  .list-head > .row.between > div:first-child{flex:1 1 100%}
  .list-head .row.gap{flex-wrap:wrap;gap:8px}
  .list-head .btn{white-space:nowrap}
}
