/* Longinquus Admin — tema seal (sem CDN) — alinhado ao appAntigo */

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: local('Nunito'), local('Nunito Regular'), url('/fonts/nunito/nunito-latin.woff2') format('woff2');
}

:root {
  --seal-50: #FFF7ED;
  --seal-100: #FFEDD5;
  --seal-200: #FED7AA;
  --seal-300: #FDBA74;
  --seal-400: #FB923C;
  --seal-500: #F97316;
  --seal-600: #EA580C;
  --seal-700: #C2410C;
  --seal-800: #9A3412;
  --seal-900: #7C2D12;
}

html, body, .fi-body, .fi-simple-layout, .fi-simple-main {
  font-family: 'Nunito', ui-sans-serif, system-ui, sans-serif !important;
}

/* ===== LOGIN (replica appAntigo) ===== */
.fi-simple-layout {
  background: linear-gradient(135deg, #ffffff 0%, #FFF7ED 45%, #FFEDD5 100%) !important;
  min-height: 100vh;
}

.dark .fi-simple-layout {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%) !important;
}

.fi-simple-main-ctn {
  padding: 1.5rem !important;
}

.fi-simple-main {
  background: transparent !important;
  box-shadow: none !important;
  ring: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  border: 0 !important;
  padding: 0 !important;
  max-width: 28rem !important;
  margin: 2rem auto !important;
}

.fi-simple-header,
.fi-logo,
.fi-simple-header-heading,
.fi-simple-main > .fi-logo,
.fi-simple-main > header {
  display: none !important;
}

/* Garante tipografia e botão mesmo se o tema Filament falhar parcialmente */
.lq-login__card .fi-btn-primary,
.lq-login__card .fi-ac-btn-action {
  width: 100% !important;
  background-color: #F97316 !important;
  color: #ffffff !important;
  border-radius: 0.75rem !important;
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  padding-top: 0.875rem !important;
  padding-bottom: 0.875rem !important;
}

.lq-login {
  width: 100%;
}

.lq-login__hero {
  text-align: center;
  margin-bottom: 2rem;
}

.lq-login__seal {
  display: inline-block;
  margin-bottom: 1rem;
}

.lq-login__title {
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 900;
  color: #C2410C;
  margin: 0;
}

.dark .lq-login__title {
  color: #f1f5f9;
}

.lq-login__welcome {
  margin-top: 0.5rem;
  font-weight: 600;
  color: #F97316;
}

.dark .lq-login__welcome {
  color: #FB923C;
}

.lq-login__card {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 10px 25px rgba(194, 65, 12, 0.12);
  border: 1px solid #FFEDD5;
  padding: 2rem;
}

.dark .lq-login__card {
  background: #1e293b;
  border-color: #334155;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}

.lq-login__card .fi-fo-field-wrp-label span,
.lq-login__card label span {
  font-weight: 700 !important;
  color: #9A3412 !important;
  font-size: 0.875rem !important;
}

.dark .lq-login__card .fi-fo-field-wrp-label span,
.dark .lq-login__card label span {
  color: #f1f5f9 !important;
}

.lq-login__card input[type="text"],
.lq-login__card input[type="password"],
.lq-login__card .fi-input {
  border-radius: 0.75rem !important;
  border: 2px solid #FED7AA !important;
  font-weight: 600 !important;
  padding: 0.75rem 1rem !important;
  min-height: 3rem;
  background: #fff !important;
}

.dark .lq-login__card input[type="text"],
.dark .lq-login__card input[type="password"],
.dark .lq-login__card .fi-input {
  background: #0f172a !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}

.lq-login__card input:focus,
.lq-login__card .fi-input:focus {
  outline: none !important;
  border-color: #F97316 !important;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2) !important;
}

.lq-login__card .fi-btn,
.lq-login__card button[type="submit"],
.lq-btn-primary {
  width: 100% !important;
  background: #F97316 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0.75rem !important;
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  padding: 0.875rem 1rem !important;
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
  transition: background 0.2s ease !important;
}

.lq-login__card .fi-btn:hover,
.lq-login__card button[type="submit"]:hover,
.lq-btn-primary:hover {
  background: #EA580C !important;
}

/* Animações */
.fade-in { animation: fadeIn 0.3s ease-out; }
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.seal-bounce { animation: bounce-seal 2s ease-in-out infinite; display: inline-block; }
@keyframes bounce-seal {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.seal-wave { animation: wave 1.5s ease-in-out infinite; display: inline-block; }
@keyframes wave {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(8deg); }
  75% { transform: rotate(-8deg); }
}

/* Painel geral */
.fi-sidebar-header {
  border-bottom-color: #FFEDD5 !important;
}

.fi-sidebar-item-button:hover,
.fi-sidebar-item-button[aria-current="page"] {
  background: #FFF7ED !important;
  color: #EA580C !important;
}

.status-present { background: #dcfce7; color: #166534; }
.status-absent { background: #fee2e2; color: #991b1b; }
.status-late { background: #fef3c7; color: #92400e; }
.dark .status-present { background: #064e3b; color: #6ee7b7; }
.dark .status-absent { background: #7f1d1d; color: #fca5a5; }
.dark .status-late { background: #78350f; color: #fcd34d; }

.att-btn {
  min-width: 88px;
  border-radius: 0.75rem;
  padding: 0.5rem 0.75rem;
  font-weight: 700;
  border: 2px solid transparent;
  transition: all 0.15s ease;
  background: #fff;
  cursor: pointer;
}
.att-btn.active-present { background: #dcfce7; color: #166534; border-color: #86efac; }
.att-btn.active-absent { background: #fee2e2; color: #991b1b; border-color: #fca5a5; }
.att-btn.active-late { background: #fef3c7; color: #92400e; border-color: #fcd34d; }

.card-hover { transition: all 0.2s ease; }
.card-hover:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(249, 115, 22, 0.15); }

.rpt-bar { background: #f1f5f9; border-radius: 9999px; height: 0.5rem; overflow: hidden; }
.rpt-bar-fill { background: #F97316; height: 100%; transition: width 0.5s ease; }
.dark .rpt-bar { background: #1e293b; }
