/* =====================================================
   ESTILO APP AMARRAS
   Base global nova para páginas do padrão Amarras
   Não substitui o CSS legado
===================================================== */

:root{
  --navH: 0px;
  --header-h: 72px;

  --amarras-font-base: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --amarras-font-heading: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --amarras-bg: #ffffff;
  --amarras-bg-soft: #f8fafc;
  --amarras-page-bg-soft:
    radial-gradient(circle at top, rgba(255,255,255,.45), transparent 35%),
    linear-gradient(180deg, #e5dac6 0%, #ddd0b8 100%);
  --amarras-text: #2b2b2b;
  --amarras-text-soft: #64748b;
  --amarras-line: #e9ecef;

  --amarras-primary: #d99a6c;
  --amarras-primary-dark: #b97c4f;
  --amarras-primary-soft: #f5e7dc;

  --amarras-success: #198754;
  --amarras-warning: #8a6d00;
  --amarras-danger: #b02a37;

  --amarras-radius-sm: 10px;
  --amarras-radius-md: 14px;
  --amarras-radius-lg: 18px;

  --amarras-shadow-soft: 0 8px 24px rgba(15, 23, 42, .06);
  --amarras-shadow-md: 0 10px 30px rgba(15, 23, 42, .08);
}

/* =====================================================
   RESET BASE
===================================================== */

*,
*::before,
*::after{
  box-sizing: border-box;
}

html,
body{
  margin: 0;
  padding: 0;
  min-height: 100%;
  overflow-x: hidden;
  background: var(--amarras-bg);
  color: var(--amarras-text);
  font-family: var(--amarras-font-base);
}

body{
  line-height: 1.5;
}

img,
svg,
video,
canvas{
  max-width: 100%;
  height: auto;
  display: block;
}

main{
  padding-top: calc(1rem + var(--navH));
  padding-bottom: 1rem;
}

/* =====================================================
   TIPOGRAFIA
===================================================== */

h1,h2,h3,h4,h5,h6{
  margin-top: 0;
  margin-bottom: .5rem;
  color: var(--amarras-text);
  font-family: var(--amarras-font-heading);
  line-height: 1.2;
  font-weight: 700;
}

.page-title,
.section-title{
  font-family: var(--amarras-font-heading);
  font-weight: 700;
}

p{
  margin-top: 0;
  margin-bottom: 1rem;
  color: var(--amarras-text-soft);
  font-size: .95rem;
  line-height: 1.6;
}

small{
  font-size: .82rem;
}

strong{
  font-weight: 700;
}

/* =====================================================
   LINKS
===================================================== */

a{
  color: inherit;
  text-decoration: none;
  transition: color .2s ease, opacity .2s ease, transform .2s ease;
}

a:hover{
  color: inherit;
}

/* =====================================================
   FORMULÁRIOS
===================================================== */

label{
  font-weight: 500;
}

input,
select,
textarea,
button{
  font: inherit;
}

.form-control,
.form-select{
  border-radius: 12px;
}

.form-control:focus,
.form-select:focus{
  border-color: rgba(217,154,108,.45);
  box-shadow: 0 0 0 .2rem rgba(217,154,108,.12);
}

/* =====================================================
   TABELAS
===================================================== */

.table{
  --bs-table-bg: transparent;
}

.table > :not(caption) > * > *{
  padding: .8rem .85rem;
}

/* =====================================================
   UTILITÁRIOS DE TEXTO
===================================================== */

.text-soft{
  color: var(--amarras-text-soft) !important;
}

.text-primary-amarras{
  color: var(--amarras-primary) !important;
}

.bg-soft{
  background: var(--amarras-bg-soft) !important;
}

.amarras-page-bg-soft{
  background: var(--amarras-page-bg-soft) !important;
}

.border-soft{
  border: 1px solid rgba(15,23,42,.08) !important;
}

.shadow-soft{
  box-shadow: var(--amarras-shadow-soft) !important;
}

/* =====================================================
   UTILITÁRIOS DE STATUS
===================================================== */

.badge-soft{
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .35rem .65rem;
  font-size: .75rem;
  font-weight: 600;
  white-space: nowrap;
}

.badge-soft-success{
  background: rgba(25,135,84,.12);
  color: var(--amarras-success);
}

.badge-soft-warning{
  background: rgba(255,193,7,.18);
  color: var(--amarras-warning);
}

.badge-soft-danger{
  background: rgba(220,53,69,.12);
  color: var(--amarras-danger);
}

.badge-soft-neutral{
  background: rgba(108,117,125,.12);
  color: #6c757d;
}

/* =====================================================
   BOTÕES AUXILIARES
===================================================== */

.btn-amarras{
  border-radius: 12px;
  min-height: 38px;
}

.btn-amarras-primary{
  background: var(--amarras-primary);
  border-color: var(--amarras-primary);
  color: #fff;
}

.btn-amarras-primary:hover{
  background: var(--amarras-primary-dark);
  border-color: var(--amarras-primary-dark);
  color: #fff;
}

.btn-amarras-soft{
  background: var(--amarras-primary-soft);
  border: 1px solid rgba(217,154,108,.22);
  color: #8d5d3b;
}

.btn-amarras-soft:hover{
  background: #f1dfd0;
  color: #7c4d2f;
}

/* =====================================================
   CARDS / BLOCOS BASE
===================================================== */

.card-amarras{
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: var(--amarras-radius-lg);
  box-shadow: var(--amarras-shadow-soft);
}

.card-amarras-body{
  padding: 1rem;
}

/* =====================================================
   ESTADOS
===================================================== */

.no-print{
  display: initial;
}

.visually-clean{
  margin: 0;
  padding: 0;
  list-style: none;
}

/* =====================================================
   ANIMAÇÕES LEVES
===================================================== */

.fade-in-up{
  animation: fadeInUp .45s ease both;
}

.floating-soft{
  animation: floatingSoft 3s ease-in-out infinite;
}

@keyframes fadeInUp{
  from{
    opacity: 0;
    transform: translateY(10px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes floatingSoft{
  0%,100%{
    transform: translateY(0);
  }
  50%{
    transform: translateY(-6px);
  }
}

/* =====================================================
   UTILITÁRIOS RESPONSIVOS
===================================================== */

@media (max-width: 767.98px){
  .ocultar-no-celular{
    display: none !important;
  }
}

@media (min-width: 768px){
  .mostrar-so-no-celular{
    display: none !important;
  }
}

/* =====================================================
   IMPRESSÃO
===================================================== */

@media print{
  .no-print{
    display: none !important;
  }

  html,
  body{
    background: #fff !important;
  }

  main{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}