/* LIGHT-SWEEP-005 — camada clara agressiva para telas internas antigas do RAS ÍRIS.
   Vence CSS dark inline/próprio em telas do condomínio, portaria, ponto e patrimônio. */

:root {
  color-scheme: light;
  --lc-bg: #eef4fb;
  --lc-bg-soft: #f8fbff;
  --lc-card: #ffffff;
  --lc-card-soft: #f7fbff;
  --lc-line: #d7e2f1;
  --lc-line-strong: #bdcbe0;
  --lc-text: #0f172a;
  --lc-muted: #475569;
  --lc-muted-2: #64748b;
  --lc-blue: #2563eb;
  --lc-sky: #0ea5e9;
  --lc-green: #16a34a;
  --lc-red: #dc2626;
  --lc-orange: #f59e0b;
  --lc-purple: #7c3aed;
  --lc-slate: #475569;
  --lc-shadow: 0 18px 42px rgba(15, 23, 42, .10), 0 2px 4px rgba(15, 23, 42, .06);
  --lc-shadow-small: 0 10px 22px rgba(15, 23, 42, .10), 0 2px 3px rgba(15, 23, 42, .06);
}

html,
body,
.ponto-page {
  background: radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 34%), linear-gradient(180deg, var(--lc-bg-soft), var(--lc-bg)) !important;
  color: var(--lc-text) !important;
}

body,
main,
section,
article,
.wrap,
.ponto-main,
.pr-shell,
.pr-tabpanel,
.pr-grid,
.pr-form,
.pr-card-list,
.lista,
.table-wrap,
.grid,
.row {
  color: var(--lc-text) !important;
}

header,
.topbar,
.ponto-topbar {
  background: rgba(255, 255, 255, .94) !important;
  border-color: var(--lc-line) !important;
  color: var(--lc-text) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .07) !important;
  backdrop-filter: blur(14px);
}

.hero,
.panel,
.card,
.item,
.box,
.ponto-card,
.pr-hero,
.pr-context-card,
.pr-summary article,
.pr-panel,
.pr-card,
.pr-form-card,
.pr-message,
.pr-dialog-card,
.pr-qr-label,
fieldset,
.form-card,
.table-card,
.metric-card,
.kpi-card {
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
  border: 1px solid var(--lc-line) !important;
  box-shadow: var(--lc-shadow) !important;
  color: var(--lc-text) !important;
}

.hero,
.panel,
.card,
.item,
.box,
.ponto-card,
.pr-hero,
.pr-context-card,
.pr-panel,
.pr-form-card,
.pr-dialog-card,
.metric-card,
.kpi-card {
  border-radius: 22px !important;
}

.ponto-card,
.pr-context-card,
.pr-summary article,
.pr-panel,
.card,
.item,
.box {
  position: relative;
  overflow: hidden;
}

.ponto-card::before,
.pr-context-card::before,
.pr-summary article::before,
.pr-panel::before,
.card::before,
.item::before,
.box::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(37,99,235,.75), rgba(14,165,233,.42), rgba(22,163,74,.42));
  pointer-events: none;
}

h1,
h2,
h3,
h4,
strong,
b,
.value,
.ponto-brand,
.pr-hero h1,
.pr-context-card h2,
.pr-summary strong,
.ponto-card h1,
.ponto-card h2,
.card h1,
.card h2,
.card h3,
.item strong,
.box strong {
  color: var(--lc-text) !important;
}

p,
span,
small,
label,
.label,
.hint,
.mini,
.muted,
.sub,
.pr-muted,
.pr-subtitle,
.pr-field span,
.pr-field small,
.ponto-note,
.card p,
.panel p,
.ponto-card p,
.item div,
.box span {
  color: var(--lc-muted) !important;
}

.ponto-clock {
  color: var(--lc-text) !important;
  opacity: .96 !important;
  text-shadow: none !important;
}

.ponto-date,
.ponto-eyebrow,
.pr-eyebrow,
.badge,
.ponto-chip,
.pr-badge,
.pill {
  background: linear-gradient(180deg, #eaf2ff, #dbeafe) !important;
  color: #1d4ed8 !important;
  border: 1px solid #bfd2ff !important;
  box-shadow: 0 3px 0 rgba(191, 210, 255, .65), 0 8px 16px rgba(37, 99, 235, .09) !important;
}

input,
select,
textarea,
.ponto-field input,
.ponto-field select,
.ponto-field textarea,
.pr-field input,
.pr-field select,
.pr-field textarea,
.form-control {
  background: #ffffff !important;
  color: var(--lc-text) !important;
  border: 1px solid var(--lc-line-strong) !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .06) !important;
}

input::placeholder,
textarea::placeholder {
  color: #94a3b8 !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: 4px solid rgba(37, 99, 235, .14) !important;
  border-color: var(--lc-blue) !important;
}

button,
.button,
.btn,
.ponto-button,
.pr-button,
.pr-tab,
.pr-link-button,
a.button,
a.btn,
a.ponto-button,
a.pr-button {
  border-radius: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  background: linear-gradient(180deg, #4ea8ff 0%, var(--lc-blue) 58%, #1e40af 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 7px 0 rgba(30, 64, 175, .78), 0 16px 28px rgba(37, 99, 235, .24), inset 0 1px 0 rgba(255,255,255,.48) !important;
  text-shadow: 0 1px 1px rgba(15, 23, 42, .20) !important;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease !important;
}

button:hover,
.button:hover,
.btn:hover,
.ponto-button:hover,
.pr-button:hover,
.pr-tab:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.04) !important;
}

button:active,
.button:active,
.btn:active,
.ponto-button:active,
.pr-button:active,
.pr-tab:active {
  transform: translateY(3px) !important;
  box-shadow: 0 4px 10px rgba(15,23,42,.12), inset 0 2px 5px rgba(15,23,42,.14) !important;
}

button.secondary,
.button.secondary,
.button.ghost,
.btn.secondary,
.ponto-button.secondary,
.ponto-button.ghost,
.pr-button-ghost,
.pr-tab:not(.is-active) {
  background: linear-gradient(180deg, #ffffff, #e8eef8) !important;
  color: var(--lc-text) !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 6px 0 rgba(148, 163, 184, .82), 0 14px 24px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.80) !important;
  text-shadow: none !important;
}

button.green,
.button.green,
.ponto-button.green,
.pr-button-success {
  background: linear-gradient(180deg, #35dc78, var(--lc-green) 60%, #15803d 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 7px 0 rgba(21,128,61,.82), 0 16px 28px rgba(22,163,74,.22), inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.ponto-status,
.status,
.pr-message {
  background: linear-gradient(180deg, #f8fbff, #eef6ff) !important;
  color: var(--lc-muted) !important;
  border: 1px solid var(--lc-line) !important;
  box-shadow: var(--lc-shadow-small) !important;
}

.ponto-status.warn,
.status.warn,
.warn {
  background: linear-gradient(180deg, #fff7df, #fef3c7) !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}

.ponto-status.erro,
.ponto-status.error,
.status.error,
.status.erro,
.status.err,
.error,
.erro,
.err {
  background: linear-gradient(180deg, #fff1f2, #fee2e2) !important;
  color: #991b1b !important;
  border-color: #fecaca !important;
}

.ponto-status.ok,
.status.ok,
.ok,
.success {
  background: linear-gradient(180deg, #ecfdf5, #dcfce7) !important;
  color: #166534 !important;
  border-color: #bbf7d0 !important;
}

table,
.table,
.tabela,
.pr-table {
  background: #ffffff !important;
  color: var(--lc-text) !important;
  border: 1px solid var(--lc-line) !important;
  box-shadow: var(--lc-shadow-small) !important;
}

thead,
th,
.pr-table th {
  background: linear-gradient(180deg, #f8fafc, #eef2f7) !important;
  color: var(--lc-text) !important;
  border-color: var(--lc-line) !important;
}

td,
tr,
.pr-table td {
  background: #ffffff !important;
  color: var(--lc-muted) !important;
  border-color: var(--lc-line) !important;
}

tr:nth-child(even) td {
  background: #f8fafc !important;
}

pre,
code,
.debug,
.log,
.resultado {
  background: #f8fafc !important;
  color: var(--lc-text) !important;
  border: 1px solid var(--lc-line) !important;
  box-shadow: var(--lc-shadow-small) !important;
}

.preview,
.image-preview,
#previewFoto,
#preview,
.foto-preview {
  background: #f8fafc !important;
  color: var(--lc-muted) !important;
  border: 1px dashed var(--lc-line-strong) !important;
}

@media (max-width: 720px) {
  .hero,
  .panel,
  .card,
  .item,
  .box,
  .ponto-card,
  .pr-hero,
  .pr-context-card,
  .pr-panel {
    border-radius: 20px !important;
  }
}
