.dem-shell{width:min(1380px,calc(100% - 48px));margin:0 auto;padding:44px 0 80px}.dem-hero,.dem-panel,.dem-card{border:1px solid var(--rule-soft);background:rgba(255,253,246,.8);box-shadow:0 20px 44px -34px rgba(10,42,67,.32)}.dem-hero{padding:40px}.dem-hero h1{font-size:clamp(44px,6vw,72px);margin:12px 0 18px}.dem-hero p{max-width:85ch;color:var(--ink-soft);line-height:1.7}.dem-authority{margin-top:18px;padding:15px 17px;border-left:4px solid #b38a3e;background:#fff9ed}.dem-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);gap:18px;margin-top:20px}.dem-panel{padding:20px}.dem-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px}.dem-toolbar input,.dem-form input,.dem-form select,.dem-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--rule-soft);background:var(--paper-pure);color:var(--ink)}.dem-form textarea{min-height:90px;resize:vertical}.dem-list{display:grid;gap:9px;max-height:900px;overflow:auto}.dem-card{padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}.dem-card input{width:20px;height:20px}.dem-card h3{margin:0 0 5px;font-size:18px}.dem-card p{margin:0;color:var(--ink-soft);overflow-wrap:anywhere}.dem-state{padding:6px 8px;border:1px solid var(--rule-soft);font:600 9px/1 "JetBrains Mono",monospace;text-transform:uppercase}.dem-form{display:grid;gap:12px}.dem-form label{font-weight:600}.dem-actions{display:flex;gap:8px;flex-wrap:wrap}.dem-actions button,.dem-actions a{min-height:42px;padding:10px 13px;border:1px solid var(--ink);background:var(--ink);color:#fff!important;font:600 10px/1 "JetBrains Mono",monospace;text-transform:uppercase}.dem-status{margin:18px 0}.dem-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.dem-count{padding:14px;border:1px solid var(--rule-soft);background:var(--paper-pure)}.dem-count b{display:block;font:500 8px/1 "JetBrains Mono",monospace;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.dem-count strong{font-size:28px}@media(max-width:960px){.dem-grid{grid-template-columns:1fr}.dem-counts{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.dem-shell{width:min(100% - 28px,1380px)}.dem-card{grid-template-columns:auto 1fr}.dem-state{grid-column:2}.dem-counts{grid-template-columns:1fr}}

/* v514.1 selection interaction hardening */
.dem-toolbar{align-items:center}.dem-selection-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dem-selection-tools button{min-height:38px;padding:8px 10px;border:1px solid var(--rule-soft);background:var(--paper-pure);color:var(--ink);font:600 9px/1 "JetBrains Mono",monospace;text-transform:uppercase;cursor:pointer}.dem-selection-tools button:disabled{opacity:.45;cursor:not-allowed}.dem-card{width:100%;text-align:left;color:var(--ink);font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}.dem-card:hover{border-color:var(--rule-strong);transform:translateY(-1px)}.dem-card:focus-visible{outline:3px solid rgba(31,87,125,.28);outline-offset:2px}.dem-card.selected{border-color:var(--accent);background:#eef5ff;box-shadow:0 0 0 2px rgba(31,87,125,.12)}.dem-checkbox{pointer-events:none;accent-color:var(--accent)}.dem-actions button:disabled{opacity:.45;cursor:not-allowed}.dem-list{position:relative;z-index:1}.dem-form{position:relative;z-index:2}@media(max-width:700px){.dem-toolbar{grid-template-columns:1fr}.dem-selection-tools{justify-content:flex-start}}


/* v514.2 persistent selection hardening */
.dem-card{
  width:100%;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.dem-card:focus-visible{
  outline:3px solid #4C7DFF;
  outline-offset:2px;
}
.dem-card.selected{
  border-color:#4C7DFF;
  box-shadow:0 0 0 2px rgba(76,125,255,.22);
  background:#eef4ff;
}
.dem-check-indicator{
  width:24px;
  height:24px;
  border:2px solid var(--rule-soft);
  display:grid;
  place-items:center;
  font-weight:700;
  background:#fff;
}
.dem-card.selected .dem-check-indicator{
  color:#fff;
  background:#4C7DFF;
  border-color:#4C7DFF;
}
.dem-card-copy{min-width:0}
.dem-card-copy h3,.dem-card-copy p{overflow-wrap:anywhere}
@media(max-width:720px){
  .dem-card{grid-template-columns:28px minmax(0,1fr)}
  .dem-state{grid-column:2}
}


/* v514.3 actionable mapping status pills */
.dem-state-action{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--rule-soft);
  border-radius:999px;
  padding:9px 12px;
  min-height:40px;
  background:#fff;
  color:var(--ink);
  font:600 9px/1 "JetBrains Mono",monospace;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.dem-state-action:hover{
  border-color:#4C7DFF;
  background:#eef4ff;
  box-shadow:0 4px 14px rgba(76,125,255,.16);
  transform:translateY(-1px);
}
.dem-state-action:focus-visible{
  outline:3px solid #4C7DFF;
  outline-offset:3px;
}
.dem-card.selected .dem-state-action{
  border-color:#4C7DFF;
  background:#4C7DFF;
  color:#fff;
}
@media(max-width:720px){
  .dem-state-action{
    grid-column:2;
    justify-self:start;
  }
}


/* v514.4 protected loader hardening */
#demRetryLoad{
  margin-top:12px;
  min-height:42px;
  padding:10px 14px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:#fff;
  cursor:pointer;
  font:600 10px/1 "JetBrains Mono",monospace;
  text-transform:uppercase;
}
#demRetryLoad:focus-visible{
  outline:3px solid #4C7DFF;
  outline-offset:3px;
}
