:root{
  --p:#441752;
  --ink:#1f1b24;
  --mut:#6b6473;
  --bd:#E7DDF1;
  --fx:#F6F1FB;
  --bg:#ffffff;
  --radius:14px;
  --shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 22px rgba(0,0,0,.06);
}

/* WRAP */
.sc-ao{
  font-family:Rubik,system-ui,sans-serif;
  color:var(--ink);
  max-width:1200px;
  margin:0 auto;
  padding:12px 20px 56px;
}

/* HERO */
.sc-ao .dec-hero{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:12px;background:var(--p);color:#fff;border-radius:10px;padding:10px 12px;box-shadow:var(--shadow);
}
.sc-ao .dec-hero__title{
  margin:2px 0;line-height:1.25;font-weight:700;font-size:clamp(.95rem,.8vw + .6rem,1.15rem);letter-spacing:.15px;
}
.sc-ao .dec-hero__cta,
.sc-ao .dec-hero__cta:link,
.sc-ao .dec-hero__cta:visited{
  background:rgba(255,255,255,.20);color:#fff;border:0;border-radius:10px;font-weight:700;
  font-size:clamp(.9rem,1.1vw + .5rem,1rem);line-height:1.3;letter-spacing:.1px;white-space:normal;overflow-wrap:anywhere;hyphens:auto;text-wrap:balance;
  display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;max-width:100%;
}
.sc-ao .dec-hero__cta:hover{ background:rgba(255,255,255,.30); }
.sc-ao .dec-hero__cta:focus{ outline:2px solid #fff; outline-offset:2px; }

/* DISCLAIMER */
.sc-ao .dec-disclaimer{
  margin-top:14px;border-left:6px solid #f1b9be;background:#f9e9eb;color:#201a22;border-radius:10px;padding:14px 16px;box-shadow:var(--shadow);
}
.sc-ao .dec-disclaimer__title{ margin:.1rem 0 .35rem 0;color:#ff1f1f;font-size:1.05rem;font-weight:800; }
.sc-ao .dec-disclaimer__text{ margin:0;line-height:1.5; }

/* SEARCH BAR */
.sc-ao .dec-bar{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--bg);border:1px solid var(--bd);border-radius:12px;
  padding:10px;box-shadow:var(--shadow);position:sticky;top:64px;z-index:3;margin-top:12px;
}
.sc-ao .dec-field{ position:relative;flex:1 1 420px; }
.sc-ao .dec-field input{
  width:100%;padding:12px 38px 12px 14px;border:1px solid var(--bd);border-radius:10px;outline:none;background:#fff;font:inherit;color:var(--ink);
}
.sc-ao .dec-field input:focus{ border-color:#d9c7ee;box-shadow:0 0 0 4px #f2ebff; }
.sc-ao .dec-clear{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#8a8197;cursor:pointer;
}
.sc-ao .dec-clear:hover{ background:#f4eefb; }
.sc-ao .dec-status{ color:#6e6380;font-size:.9rem; }

/* TABLE WRAP */
.sc-ao .dec-tablewrap{
  margin-top:12px;background:#fff;border:1px solid var(--bd);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;
}

/* TABLE */
.sc-ao .dec-table{
  width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:720px;
}
.sc-ao .dec-table thead th{
  position:sticky;top:0;background:linear-gradient(180deg,#faf7ff,#fff 65%);color:#3a2a54;text-align:left;font-weight:800;padding:12px 14px;border-bottom:1px solid var(--bd);z-index:1;
}
.sc-ao .dec-table thead th.col-title{ width:60%; }
.sc-ao .dec-table thead th.col-case { width:20%; }
.sc-ao .dec-table thead th.col-date { width:20%; }

.sc-ao .dec-table tbody tr{ background:#fff;transition:background .12s ease; }
.sc-ao .dec-table tbody tr:nth-child(odd){ background:#fcfaff; }
.sc-ao .dec-table tbody tr:hover{ background:#f8f4fb; }

.sc-ao .dec-table td{
  padding:12px 14px;vertical-align:top;border-bottom:1px solid var(--bd);color:#2b2140;line-height:1.2;
}

/* TITLE clamp */
.sc-ao .td-title{ overflow:hidden; }
.sc-ao .dec-title{
  font-size:clamp(.92rem,1.2vw,1.0rem);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.25;max-height:calc(1.25em * 2);
  font-weight:800;color:#2b1740;text-decoration:none;
}
.sc-ao .dec-title:hover{ color:var(--p); text-decoration:underline; }

/* CASE & DATE */
.sc-ao .td-case,.sc-ao .td-date{ color:#4a3e59; }
.sc-ao .td-case{
  font-weight:700;white-space:normal;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;font-size:.95rem;
}

/* LOAD MORE */
.sc-ao .dec-more{ display:flex;justify-content:center;margin-top:14px; }
.sc-ao .btn-tonal,
.sc-ao .btn-tonal:link,
.sc-ao .btn-tonal:visited{
  display:inline-block;padding:10px 14px;border-radius:12px;background:var(--fx);border:1px solid var(--bd);color:var(--p);font-weight:800;text-decoration:none;cursor:pointer;
}
.sc-ao .btn-tonal:hover{ background:#efe6fb; }

/* EMPTY */
.sc-ao .dec-empty{
  border:1px dashed var(--bd);border-radius:12px;padding:18px;text-align:center;margin-top:12px;color:var(--mut);
}

/* ACCESSIBILITY */
.sc-ao a.dec-title:focus,
.sc-ao .btn-tonal:focus,
.sc-ao .dec-clear:focus,
.sc-ao .dec-field input:focus{
  outline:none;box-shadow:0 0 0 4px #f2ebff;border-color:#d9c7ee;
}

/* RESPONSIVE */
@media (max-width:1200px){ .sc-ao{ padding:12px 16px 48px; } }
@media (max-width:1024px){ .sc-ao .dec-hero{ padding:10px 12px;gap:10px; } .sc-ao .dec-bar{ top:56px; } }
@media (max-width:768px){
  .sc-ao{ padding:10px 14px 40px; }
  .sc-ao .dec-hero{ flex-direction:column;align-items:flex-start; }
  .sc-ao .dec-hero__cta{ width:100%; text-align:center; }
  .sc-ao .dec-tablewrap{ overflow:auto; }
  .sc-ao .dec-table{ min-width:600px; }
}
@media (max-width:480px){
  .sc-ao .dec-hero__title{ font-size:1rem; }
  .sc-ao .dec-hero__cta{ padding:10px 12px; }
  .sc-ao .dec-field input{ padding:10px 36px 10px 12px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .sc-ao .dec-table tbody tr{ transition:none; }
}

/* Render hardening (prevents tbody height caps) */
.sc-ao .dec-table { table-layout: fixed; width: 100%; border-collapse: separate; border-spacing: 0; }
.sc-ao .dec-table thead { display: table-header-group !important; }
.sc-ao .dec-table tbody { display: table-row-group !important; max-height: none !important; overflow: visible !important; }
.sc-ao .dec-table tr { display: table-row !important; }
.sc-ao .dec-table td, .sc-ao .dec-table th { display: table-cell !important; }
