/* SBS Delivery Modules hub */
:root { --bg:#0f1117; --card:#1a1d27; --text:#e8eaef; --muted:#8b92a5; --accent:#24a0ed; --green:#2ecc71; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Plus Jakarta Sans",system-ui,sans-serif; background:var(--bg); color:var(--text); }
.dm-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-bottom:1px solid #2a2f3d; }
.dm-header h1 { font-size:18px; margin:0; }
.dm-main { max-width:1100px; margin:0 auto; padding:20px; }
.dm-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.dm-card { background:var(--card); border:1px solid #2a2f3d; border-radius:10px; padding:16px; display:flex; flex-direction:column; gap:10px; }
.dm-card h2 { margin:0; font-size:15px; }
.dm-meta { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.dm-btn { display:inline-block; padding:8px 14px; border-radius:6px; background:var(--accent); color:#fff; text-decoration:none; font-size:13px; font-weight:600; border:none; cursor:pointer; }
.dm-btn.secondary { background:#2a3142; color:var(--text); }
.dm-kpi { font-size:12px; color:var(--muted); }
.dm-portals { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.dm-portal-link { font-size:11px; padding:4px 8px; border-radius:4px; background:#12151e; color:var(--muted); text-decoration:none; border:1px solid #2a2f3d; }
.dm-portal-link:hover { color:var(--text); border-color:var(--accent); }
.dm-prov { margin-top:28px; padding:18px; background:var(--card); border:1px solid #2a2f3d; border-radius:10px; }
.dm-prov h2 { margin:0 0 10px; font-size:15px; }
.dm-prov ol { margin:0; padding-left:20px; color:var(--muted); font-size:13px; line-height:1.6; }
.dm-prov a { color:var(--accent); }
table.dm-table { width:100%; border-collapse:collapse; font-size:12px; }
table.dm-table th, table.dm-table td { padding:8px; border-bottom:1px solid #2a2f3d; text-align:left; }
.form-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; margin-bottom:10px; }
.form-row input, .form-row select { width:100%; padding:8px; border-radius:6px; border:1px solid #333; background:#12151e; color:var(--text); }
