:root{--brand:#8B0000;--ink:#111;--muted:#6b7280;--line:#e5e7eb;--chip:#f3f4f6;--bg:#f6f7f8;--white:#fff}
.sps-root *{box-sizing:border-box}
.sps-root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:var(--bg);color:var(--ink);padding:16px;border-radius:8px}
.sps-root .container{max-width:1200px;margin:0 auto}
.sps-root h1{margin:0 0 6px 0;font-size:20px;color:var(--brand)}
.sps-root .subtitle{color:#4b5563;font-size:13px;margin-bottom:8px}
.sps-root .toolbar{display:flex;flex-direction:column;gap:12px;margin:12px 0}
@media(min-width:768px){.sps-root .toolbar{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.sps-root .btn{appearance:none;border:0;border-radius:999px;background:#111;color:#fff;padding:10px 14px;cursor:pointer;font-size:14px}
.sps-root .panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px}
.sps-root .grid{display:grid;gap:10px}
.sps-root .grid.cols-6{grid-template-columns:repeat(1,1fr)}
@media(min-width:768px){.sps-root .grid.cols-6{grid-template-columns:repeat(6,1fr)}}
.sps-root label{display:block;font-weight:600;margin:0 0 6px 0;font-size:13px;color:#1f2937}
.sps-root input[type=text], .sps-root select{width:100%;padding:9px 10px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;outline-color:var(--brand)}
.sps-root .count{margin-top:10px;font-size:13px;color:#6b7280}
/* cards */
.sps-root .cards{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:14px;margin-top:14px}
@media(min-width:600px){.sps-root .cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.sps-root .cards{grid-template-columns:repeat(3,1fr)}}
.sps-root .card{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(15,15,15,0.03);transition:transform .12s ease}
.sps-root .card:hover{transform:translateY(-4px)}
.sps-root .media{aspect-ratio:16/9;background:#e5e7eb;min-height:120px}
.sps-root .media img{width:100%;height:100%;object-fit:cover;display:block}
.sps-root .card-body{padding:12px;display:flex;flex-direction:column;gap:8px}
.sps-root .title{font-weight:700;margin:0;font-size:16px}
.sps-root .meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;color:#374151;font-size:12px}
.sps-root .chips{display:flex;flex-wrap:wrap;gap:6px}
.sps-root .chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip);border-radius:999px;padding:4px 8px;font-size:12px;color:#374151}
.sps-root .excerpt{font-size:14px;color:#374151;line-height:1.4}
.sps-root .excerpt.collapsed{overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.sps-root .read-more{background:none;border:0;color:var(--brand);cursor:pointer;padding:0;font-weight:600;font-size:13px}
.sps-root .cta{margin-top:auto}
/* table view */
.sps-root .table-wrap{overflow:auto;background:var(--white);border-radius:8px;border:1px solid var(--line);padding:8px;margin-top:12px}
.sps-root table.sps-table{width:100%;border-collapse:collapse;font-size:14px}
.sps-root table.sps-table th, .sps-root table.sps-table td{padding:8px 10px;border-bottom:1px solid #f3f4f6;text-align:left}
.sps-root table.sps-table thead th{position:sticky;top:0;background:#fff;z-index:2}
/* pagination */
.sps-root .pagination{margin:14px 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.sps-root .page-btn{border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:8px 12px;cursor:pointer}
.sps-root .page-btn.active{background:#111;border-color:#111;color:#fff}
/* mobile optimizations */
@media(max-width:600px){
  .sps-root h1{font-size:18px}
  .sps-root .toolbar{gap:8px;padding-bottom:6px}
  .sps-root .grid.cols-6{grid-template-columns:repeat(1,1fr)}
  .sps-root .meta{grid-template-columns:repeat(2,1fr)}
  .sps-root .media{min-height:140px}
  .sps-root .page-btn{padding:10px 14px;font-size:15px}
  .sps-root .panel{padding:10px}
  .sps-root input[type=text], .sps-root select{padding:12px;font-size:15px}
}
