.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:46px;
  padding:.78rem 1.2rem;
  border:1px solid transparent;
  border-radius:999px;
  background:var(--pantura-navy);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  line-height:1;
  box-shadow:0 8px 18px rgba(23,50,77,.14);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(23,50,77,.2)}
.button:active{transform:translateY(0)}
.button:focus-visible,.nav-toggle:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid rgba(46,120,166,.28);outline-offset:3px}
.button-secondary{background:transparent;color:var(--pantura-navy);border-color:var(--border-strong);box-shadow:none}
.button-secondary:hover{background:rgba(23,50,77,.06);border-color:var(--pantura-navy)}
.button-coral{background:var(--ria-coral);box-shadow:0 10px 24px rgba(240,100,73,.22)}
.button-coral:hover{background:var(--ria-coral-dark)}
.button-gold{background:var(--sunset-gold);color:var(--deep-charcoal);box-shadow:0 10px 24px rgba(242,181,68,.2)}
.button-small{min-height:38px;padding:.58rem .9rem;font-size:.88rem}

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.card-body{padding:clamp(1.15rem,2.4vw,1.6rem)}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover}

.badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.38rem .7rem;
  border-radius:999px;
  background:var(--sunset-gold);
  color:var(--deep-charcoal);
  font-size:.7rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.badge-blue{background:var(--sea-mist);color:var(--pantura-navy)}
.badge-coral{background:#FFE1DB;color:#9D2D1D}
.badge-success{background:#DCFCE7;color:var(--success)}
.badge-warning{background:#FEF3C7;color:#92400E}
.badge-danger{background:#FEE2E2;color:var(--danger)}

.form-grid{display:grid;gap:1rem}
.field{display:grid;gap:.45rem}
.field label{font-weight:800;color:var(--pantura-navy);font-size:.9rem}
.field input,.field select,.field textarea{
  width:100%;
  min-height:48px;
  border:1px solid var(--border-strong);
  border-radius:.82rem;
  padding:.8rem .95rem;
  background:#fff;
  color:var(--text);
  box-shadow:inset 0 1px 0 rgba(23,50,77,.02);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(23,50,77,.45)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--arus-blue);box-shadow:0 0 0 4px rgba(46,120,166,.1)}
.field textarea{min-height:145px;resize:vertical}
.field input:disabled{background:#F2F4F6;color:#77808B}
.help{font-size:.84rem;color:var(--muted);line-height:1.5}

.alert{
  padding:1rem 1.1rem;
  border-radius:.9rem;
  border:1px solid var(--border);
  background:var(--surface-soft);
  line-height:1.5;
}
.alert-danger{border-color:#F3B8B8;background:#FFF2F2;color:#7F1D1D}
.alert-success{border-color:#B7E6C5;background:#F0FFF4;color:#14532D}

.table-wrap{
  overflow:auto;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
table{width:100%;border-collapse:collapse;min-width:720px}
th,td{text-align:left;padding:.95rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}
th{background:var(--sea-mist);color:var(--pantura-navy);font-size:.75rem;text-transform:uppercase;letter-spacing:.055em}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#FBFCFD}

.empty-state{
  text-align:center;
  padding:clamp(2.5rem,7vw,4.25rem) 1.25rem;
  border:1px dashed rgba(23,50,77,.28);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.56);
}
.empty-state h3{margin-bottom:.5rem}

.toast-root{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:1000}
.toast{background:var(--deep-charcoal);color:#fff;padding:.9rem 1rem;border-radius:.75rem;box-shadow:var(--shadow)}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:1rem}
.stat{padding:1.2rem;border:1px solid var(--border);border-radius:1rem;background:#fff;box-shadow:var(--shadow-sm)}
.stat span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.stat strong{display:block;margin-top:.25rem;font-family:var(--font-heading);font-size:1.7rem;color:var(--pantura-navy)}

details{border-top:1px solid var(--border);padding-top:.9rem}
summary{cursor:pointer;font-weight:800;color:var(--pantura-navy)}
