/* ── RAPPORT · base compartida (fuentes, componentes y accesibilidad) ── */
@font-face{font-family:'Lastica';src:url('fonts/Lastica.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'Now';src:url('fonts/Now-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Now';src:url('fonts/Now-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:'Now';src:url('fonts/Now-Bold.otf') format('opentype');font-weight:600 700;font-display:swap}
@font-face{font-family:'Now';src:url('fonts/Now-Black.otf') format('opentype');font-weight:800 900;font-display:swap}

/* checkboxes con confirmación visual */
input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:21px;height:21px;min-width:21px;padding:0;flex:none;
  border:1.5px solid #333;border-radius:6px;background:#1E1E1E;cursor:pointer;position:relative;
  transition:background .15s,border-color .15s,transform .12s;vertical-align:middle}
input[type="checkbox"]:hover{border-color:#E6B303}
input[type="checkbox"]:active{transform:scale(.85)}
input[type="checkbox"]:checked{background:#E6B303;border-color:#E6B303;animation:chkpop .22s cubic-bezier(.2,.7,.3,1.4)}
input[type="checkbox"]:checked::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#111;font-weight:900;font-size:13px;line-height:1}
@keyframes chkpop{0%{transform:scale(.7)}60%{transform:scale(1.12)}100%{transform:scale(1)}}

/* accesibilidad: foco visible y targets táctiles */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #E6B303;outline-offset:2px}
a[data-cancel],a[data-del],a[data-delx],a[data-delfoto],a[data-delclase],.sdel,.del-staff{display:inline-flex;min-width:32px;min-height:32px;align-items:center;justify-content:center}

/* skeletons de carga */
.skel{background:linear-gradient(90deg,#161616 25%,#1E1E1E 50%,#161616 75%);background-size:200% 100%;
  animation:skel 1.2s infinite linear;border-radius:16px 16px 6px 6px;border:1px solid #282828;margin-bottom:12px}
@keyframes skel{to{background-position:-200% 0}}

/* tablas con scroll horizontal en móvil */
@media (max-width:760px){
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
}

/* animaciones base */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* scrollbars */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#2e2e2e;border-radius:6px;border:2px solid #111}
::-webkit-scrollbar-track{background:transparent}
