:root{
  --app-grad-start:#0d6efd; /* azul */
  --app-grad-end:#1e4f9e;   /* azul escuro */
}

html, body { height:100%; }

body{
  min-height:100vh;
  background: linear-gradient(135deg,var(--app-grad-start) 0%, var(--app-grad-end) 100%) fixed;
}

/* cartões legíveis sobre o fundo azul */
.card { border-radius:12px; background:#fff; }

/* Kiosk / utilitários */
.kiosk-wrap { max-width:520px; margin:0 auto; }
.numeric-keypad .btn { width:30%; margin:3px 1%; font-size:1.25rem; padding:12px 0; }
.clock-display { font-size:2.2rem; font-weight:700; color:#fff; }
#cameraPreview { background:rgba(255,255,255,.2); border:2px dashed rgba(255,255,255,.5); border-radius:10px; min-height:240px; display:flex; align-items:center; justify-content:center; }
.footer-sticky { position: sticky; bottom: 0; }

/* impressão sempre limpa */
@media print {
  body { background:#fff !important; }
  .card, .container { box-shadow:none !important; }
}


/* Footer clean (no line) + white text */
.app-footer{ border-top:0 !important; color:#fff !important; }
.app-footer a, .app-footer span{ color:#fff !important; }


/* === KIOSK CAMERA FIT — FIX === */
#kiosk-camera-slot{ position:absolute; inset:8px; border-radius:14px; overflow:hidden; pointer-events:none; }
#camPreview, #kioskCam{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;   /* use 'contain' se preferir barras */
  border-radius:inherit !important;
}
/* garante que a moldura corta o excedente */
.fotoWrap > .frame, .kiosk-photo, .employee-photo {
  overflow:hidden;
  aspect-ratio:4/3; /* webcam 640x480 */
}


/* ========= Ajustes gerais para tablets e mobile ========= */
@media (max-width: 991.98px){
  header .navbar,
  header .navbar .container{
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
  main.container,
  main .container{
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
}

@media (max-width: 768px){
  .table{
    font-size:0.9rem;
  }
  h1, .h1{ font-size:1.5rem; }
  h2, .h2{ font-size:1.35rem; }
}
