/* Launchpad and platform access (CORE access contract v2). Tokens from app.css only; light and dark. */
.lp-tiles { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s5);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); }
.lp-tiles > .lp-tile, .lp-plat-grid > .lp-plat { margin: 0; }
.lp-tile { display: flex; flex-direction: column; gap: var(--s4); padding: var(--s6); }
.lp-tile-head { display: flex; gap: var(--s4); align-items: center; }
.lp-tile-title { margin: 0; font-size: 18px; line-height: 1.3; }
.lp-tile-sub { margin: 2px 0 0; color: var(--muted); font-size: 13px; }
.lp-tile-text { margin: 0; color: var(--text); }
.lp-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3); margin: 0; padding: var(--s3) 0;
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.lp-facts div { min-width: 0; }
.lp-facts dt { font-size: 12px; color: var(--muted); margin-bottom: 6px; }
.lp-facts dd { margin: 0; }
.lp-tile-foot { margin-top: auto; display: flex; flex-direction: column; gap: var(--s2); align-items: flex-start; }
.lp-explain { flex-direction: row; gap: var(--s2); align-items: flex-start; color: var(--muted); background: var(--surface-2);
  border-radius: var(--r-sm); padding: var(--s3); }
.lp-explain p { margin: 0; color: var(--text); }
.lp-explain svg { flex: none; margin-top: 2px; }
.lp-foot-note { margin-top: var(--s5); }
.lp-center { text-align: center; }
.lp-narrow { max-width: 560px; }

.lp-section { margin-top: var(--s6); }
.lp-two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.lp-h3 { margin: 0; font-size: 15px; }
.lp-values dd { min-width: 0; display: flex; gap: var(--s2); align-items: center; flex-wrap: wrap; }
.lp-values code { overflow-wrap: anywhere; word-break: break-all; font-size: 12.5px; }
.lp-secret { font-size: 14px; padding: 4px 8px; background: var(--surface-2); border-radius: 6px; }
.lp-row-actions { display: flex; gap: var(--s2); flex-wrap: wrap; align-items: center; }
.lp-row-actions form { margin: 0; }
.lp-more { display: inline-block; }
.lp-more[open] { flex-basis: 100%; }
.lp-more summary { list-style: none; cursor: pointer; }
.lp-more summary::-webkit-details-marker { display: none; }
.lp-more form { margin-top: var(--s2); }

.lp-plat-grid { display: grid; gap: var(--s5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  margin-bottom: var(--s5); }
.lp-plat { padding: var(--s5); display: flex; flex-direction: column; gap: var(--s4); }
.lp-plat-head { display: flex; gap: var(--s3); align-items: flex-start; }
.lp-plat-head h2 { margin: 0; font-size: 17px; }
.lp-plat-head p { margin: 4px 0 0; }
.lp-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s2); margin: 0; }
.lp-counts div { background: var(--surface-2); border-radius: var(--r-sm); padding: var(--s2) var(--s3); min-width: 0; }
.lp-counts dt { font-size: 12px; color: var(--muted); }
.lp-counts dd { margin: 2px 0 0; font: 600 20px/1.2 var(--font); font-variant-numeric: tabular-nums; }
.lp-counts a { color: var(--text); display: inline-block; min-height: 24px; }
.lp-why { display: flex; gap: var(--s2); align-items: flex-start; margin: 0; color: var(--muted); }
.lp-why svg { flex: none; margin-top: 2px; }

.lp-filters { display: flex; gap: var(--s3); flex-wrap: wrap; align-items: flex-end; }
.lp-filters .field { flex: 1 1 160px; margin: 0; }
.lp-filters .form-actions { margin: 0; }
.lp-block { display: block; }
.lp-name { font-weight: 600; }
.lp-table td, .lp-matrix td { vertical-align: top; }
.lp-drift-item { display: flex; gap: var(--s4); align-items: flex-start; padding: var(--s3) 0; border-bottom: 1px solid var(--border);
  flex-wrap: wrap; }
.lp-drift-item:last-child { border-bottom: 0; }
.lp-drift-item .reason-line { flex: 1 1 280px; }
.lp-detail { margin-top: 4px; color: var(--muted); overflow-wrap: anywhere; }
.lp-perms { margin: var(--s2) 0 0; padding-left: var(--s4); }
.lp-chips { display: flex; gap: var(--s2); flex-wrap: wrap; margin-bottom: var(--s4); }
.lp-catalogue summary { cursor: pointer; font-weight: 600; min-height: 24px; }
.lp-catalogue .kv { margin-top: var(--s3); }
.lp-clients li { display: flex; gap: var(--s2); align-items: center; padding: var(--s2) 0; }
.lp-copy { margin-left: 2px; }

@media (max-width: 900px) {
  .lp-two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .lp-facts { grid-template-columns: minmax(0, 1fr); }
  .lp-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-tile { padding: var(--s5); }
  .lp-values { grid-template-columns: minmax(0, 1fr); }
  .lp-values dt { margin-top: var(--s2); }
}
