: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-ac{ font-family:Rubik,system-ui,sans-serif; color:var(--ink); max-width:1200px; margin:0 auto; padding:12px 20px 56px; }

/* Hero */
.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); }
.dec-hero__title{ margin:2px 0; line-height:1.25; font-weight:700; font-size:clamp(.95rem,.8vw + .6rem,1.15rem); letter-spacing:.15px; }
.dec-hero__cta,.dec-hero__cta:link,.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%;
}
.dec-hero__cta:hover{ background:rgba(255,255,255,.30); }
.dec-hero__cta:focus{ outline:2px solid #fff; outline-offset:2px; }
@media (max-width:768px){ .dec-hero__cta{ width:100%; text-align:center; padding:12px 14px; } }
@media (max-width:420px){ .dec-hero__cta{ font-size:.92rem; border-radius:9px; } }

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

/* Search */
.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; }
.dec-field{ position:relative; flex:1 1 420px }
.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) }
.dec-field input:focus{ border-color:#d9c7ee; box-shadow:0 0 0 4px #f2ebff }
.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 }
.dec-clear:hover{ background:#f4eefb }
.dec-status{ color:#6e6380; font-size:.9rem }

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

/* Table (3 columns; Circular No • Date • Title) */
.dec-table{ width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; min-width:720px; }
.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
}
.dec-table thead th.col-case { width:22%; }
.dec-table thead th.col-date { width:22%; }
.dec-table thead th.col-title{ width:56%; }

/* Body */
.dec-table tbody tr{ background:#fff; transition:background .12s ease; }
.dec-table tbody tr:nth-child(odd){ background:#fcfaff; }
.dec-table tbody tr:hover{ background:#f8f4fb; }
.dec-table td{ padding:12px 14px; vertical-align:top; border-bottom:1px solid var(--bd); color:#2b2140; line-height:1.2; }

/* Title ellipsis */
.td-title{ overflow:hidden; }
.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;
}
.dec-title:hover{ color:var(--p); text-decoration:underline; }

/* Case & date */
.td-case, .td-date{ color:#4a3e59; }
.td-case{ font-weight:700; overflow-wrap:anywhere; word-break:break-word; hyphens:auto; font-size:.95rem; }

/* More / empty */
.dec-more{ display:flex; justify-content:center; margin-top:14px; }
.btn-tonal,.btn-tonal:link,.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 }
.btn-tonal:hover{ background:#efe6fb }
.dec-empty{ border:1px dashed var(--bd); border-radius:12px; padding:18px; text-align:center; margin-top:12px; color:var(--mut) }

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

/* Responsive */
@media (max-width:1200px){ .sc-ac{ padding:12px 16px 48px; } }
@media (max-width:1024px){ .dec-hero{ padding:10px 12px; gap:10px; } .dec-bar{ top:56px; } }
@media (max-width:768px){
  .sc-ac{ padding:10px 14px 40px; }
  .dec-hero{ flex-direction:column; align-items:flex-start; }
  .dec-hero__cta{ width:100%; text-align:center; }
  .dec-tablewrap{ overflow:auto; }
  .dec-table{ min-width:720px; }
}
@media (max-width:480px){ .dec-hero__title{ font-size:1rem; } .dec-hero__cta{ padding:10px 12px; } .dec-field input{ padding:10px 36px 10px 12px; } }
@media (prefers-reduced-motion:reduce){ .dec-table tbody tr{ transition:none; } }
/* --- Render hardening: prevent themes from collapsing tbody to limited rows --- */
.dec-table { table-layout: fixed; width: 100%; border-collapse: separate; border-spacing: 0; }
.dec-table thead { display: table-header-group !important; }
.dec-table tbody { display: table-row-group !important; max-height: none !important; overflow: visible !important; }
.dec-table tr { display: table-row !important; }
.dec-table td, .dec-table th { display: table-cell !important; }