:root {
  --landyra-primary: #4f46e5;
  --landyra-primary-dark: #3730a3;
  --landyra-accent: #06b6d4;
  --landyra-bg: #f4f6fb;
  --landyra-sidebar-bg: #111827;
  --landyra-sidebar-text: #cbd5e1;
  --landyra-radius: 14px;
}

body.landyra-body { background: var(--landyra-bg); font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; }

.landyra-shell { display: flex; min-height: 100vh; }

.landyra-sidebar {
  width: 250px; background: var(--landyra-sidebar-bg); color: var(--landyra-sidebar-text);
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh;
  transition: transform .2s ease; z-index: 1030;
}
.sidebar-brand {
  display: flex; align-items: center; gap: .5rem; padding: 1.25rem 1.25rem;
  font-weight: 700; font-size: 1.15rem; color: #fff; letter-spacing: .5px;
}
.sidebar-brand i { color: var(--landyra-accent); font-size: 1.4rem; }
.sidebar-brand img { display: block; flex-shrink: 0; }
.sidebar-nav { flex: 1; overflow-y: auto; padding: .5rem .75rem; }
.nav-section { font-size: .7rem; text-transform: uppercase; letter-spacing: 1px; color: #64748b; margin: 1rem .5rem .35rem; }
.landyra-sidebar .nav-link {
  color: var(--landyra-sidebar-text); padding: .55rem .75rem; border-radius: 10px;
  display: flex; align-items: center; gap: .65rem; font-size: .92rem; margin-bottom: 2px;
}
.landyra-sidebar .nav-link i { font-size: 1.05rem; width: 20px; text-align: center; }
.landyra-sidebar .nav-link:hover { background: rgba(255,255,255,.06); color: #fff; }
.landyra-sidebar .nav-link.active { background: var(--landyra-primary); color: #fff; }
.sidebar-footer { padding: .75rem; border-top: 1px solid rgba(255,255,255,.08); }

.landyra-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.landyra-topbar {
  display: flex; align-items: center; padding: .75rem 1.5rem; background: #fff;
  border-bottom: 1px solid #e5e7eb; position: sticky; top: 0; z-index: 1020;
}
.landyra-content { padding: 1.5rem; }

.landyra-card { background: #fff; border-radius: var(--landyra-radius); border: 1px solid #eef0f5; padding: 1.25rem; height: 100%; }
.landyra-card .kpi-value { font-size: 1.6rem; font-weight: 700; color: #111827; }
.landyra-card .kpi-label { font-size: .8rem; color: #6b7280; text-transform: uppercase; letter-spacing: .5px; }
.landyra-card .kpi-icon {
  width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center;
  justify-content: center; background: rgba(79,70,229,.1); color: var(--landyra-primary); font-size: 1.2rem;
}

.btn-landyra { background: var(--landyra-primary); border-color: var(--landyra-primary); color: #fff; }
.btn-landyra:hover { background: var(--landyra-primary-dark); border-color: var(--landyra-primary-dark); color: #fff; }

.table-landyra thead { background: #f8f9fc; }
.badge-status-RASCUNHO { background: #94a3b8; }
.badge-status-PUBLICADA { background: #16a34a; }
.badge-status-SUSPENSA { background: #f59e0b; }
.badge-status-INATIVA { background: #6b7280; }
.badge-status-PENDENTE { background: #3b82f6; }
.badge-status-PAGO { background: #16a34a; }
.badge-status-VENCIDO { background: #dc2626; }
.badge-status-CANCELADO { background: #6b7280; }

.auth-wrapper { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--landyra-primary), var(--landyra-accent)); }
.auth-card { background: #fff; border-radius: 18px; padding: 2.5rem; width: 100%; max-width: 400px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }

.preview-frame-wrap { border: 1px solid #e5e7eb; border-radius: var(--landyra-radius); overflow: hidden; background: #fff; margin: 0 auto; transition: width .2s ease; }
.preview-frame-wrap iframe { width: 100%; height: 640px; border: 0; display: block; }

@media (max-width: 992px) {
  .landyra-sidebar { position: fixed; transform: translateX(-100%); }
  .landyra-sidebar.open { transform: translateX(0); }
}
