
.acm-wrap{ max-width: 1080px; margin: 0 auto; padding: 6px 4px 20px; }
.acm-title{ margin: 0 0 12px; font-size: 30px; font-weight: 800; color:#0f172a; letter-spacing:-.2px; }
.acm-cards{ display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:14px; margin: 18px 0 22px; }
.acm-card{ display:flex; align-items:center; justify-content:center; min-height:64px; padding: 16px 18px; border-radius: 14px; border: 1px solid rgba(15,23,42,.12); background: linear-gradient(180deg, #fff, #f8fafc); text-decoration:none; box-shadow: 0 8px 24px rgba(15,23,42,.06); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.acm-card:hover{ transform: translateY(-2px); box-shadow: 0 12px 30px rgba(15,23,42,.10); border-color: rgba(59,130,246,.4); }
.acm-card.is-active{ outline: 2px solid rgba(59,130,246,.35); background: #fff; }
.acm-card__label{ font-weight: 800; letter-spacing: .2px; color:#0f172a; }
.acm-area-title{ display:inline-flex; align-items:center; gap:10px; margin: 10px 0 12px; padding: 10px 16px; border-radius: 999px; background: #2563eb; color:#fff; font-weight: 800; letter-spacing: .4px; box-shadow: 0 6px 16px rgba(37,99,235,.25); }
.acm-filters{ display:grid; grid-template-columns: 1.5fr 160px auto; gap:12px; align-items:end; margin: 10px 0 16px; padding: 14px; border-radius: 14px; background: #f8fafc; border: 1px solid rgba(15,23,42,.08); }
.acm-filter label{ display:block; font-weight: 700; font-size: 12px; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .6px; color:#334155; }
.acm-filter input, .acm-filter select{ width:100%; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(15,23,42,.15); background: #fff; min-width: 0; font-size: 14px; }
.acm-filter__help{ font-size: 12px; color: rgba(15,23,42,.6); margin-top: 6px; }
.acm-filter--actions{ justify-self:end; }

.acm-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding: 10px 16px; border-radius: 8px; background:#0f172a; color:#fff; text-decoration:none; border:none; cursor:pointer; font-weight: 600; font-size: 14px; transition: all .2s; box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px 0 rgba(0,0,0,0.06); }
.acm-btn:hover{ background: #1e293b; transform: translateY(-1px); box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06); }
.acm-btn:active{ transform: translateY(0); }
.acm-btn--small{ padding: 8px 14px; font-size: 13px; min-height: 36px; }

.acm-table-wrap{ overflow:hidden; border-radius: 12px; border: 1px solid rgba(15,23,42,.1); background:#fff; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06); margin-top: 16px; }
.acm-table{ width:100%; border-collapse: collapse; min-width: 700px; text-align: left; }
.acm-col-thumb{ width: 90px; text-align:center; padding-left: 16px !important; }
.acm-thumb-img{ width: 56px; height: 56px; object-fit: cover; border-radius: 8px; border: 1px solid rgba(15,23,42,.08); background: #f1f5f9; display:block; margin: 0 auto; }
.acm-no-thumb{ width: 56px; height: 56px; border-radius: 8px; border: 1px dashed rgba(15,23,42,.15); background: #f8fafc; display:block; margin: 0 auto; }
.acm-table th{ background: #1e293b; color:#f8fafc; padding: 16px; font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; border-bottom: 1px solid rgba(15,23,42,.1); white-space: nowrap; }
.acm-table td{ padding: 16px; border-bottom: 1px solid rgba(15,23,42,.06); vertical-align: middle; color: #334155; font-size: 14px; line-height: 1.5; }
.acm-table tr:last-child td{ border-bottom: none; }
.acm-table tr:hover td{ background: #f8fafc; }
.acm-text-center{ text-align: center; }

.acm-notice{ padding: 12px 14px; border-radius: 12px; background: #f1f5f9; margin: 12px 0; border: 1px dashed rgba(15,23,42,.18); }
.acm-notice--warn{ background: rgba(245, 158, 11, .12); border: 1px solid rgba(245, 158, 11, .25); }
.acm-muted{ color: rgba(15,23,42,.55); }

@media (max-width: 900px){
  .acm-filters{ grid-template-columns: 1fr; }
  .acm-filter--actions{ justify-self:start; }
}
@media (max-width: 640px){
  .acm-cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acm-wrap{ padding: 0 10px; }
  .acm-table{ min-width: 560px; }
}

.acm-area-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 16px;
}
@media (min-width: 900px){
  .acm-area-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.acm-area-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  text-decoration:none;
}
.acm-area-card__title{ font-weight:800; }
.acm-area-card__hint{ font-size: 12px; opacity: .75; }
.acm-chips{
  display:flex;
  gap:8px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 12px;
  margin: 6px 0 12px;
}
.acm-chips--fase{ margin-top: 0; }
.acm-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 14px;
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 999px;
  text-decoration:none;
  white-space:nowrap;
  font-weight: 700;
  min-height: 38px;
  color:#0f172a;
  background:#fff;
  transition: all .12s ease;
}
.acm-chip:hover{ border-color: rgba(59,130,246,.5); color:#1d4ed8; }
.acm-chip.is-active{
  background: #e2e8f0;
  border-color: rgba(15,23,42,.25);
}
