/* ── SecureConsent responsive utilities ─────────────────────────────────── */

/* Grid helpers — replace hardcoded repeat(N,1fr) */
.sc-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); }
.sc-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); }
.sc-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); }
.sc-grid-5 { display:grid; grid-template-columns:repeat(5,1fr); }
.sc-grid-6 { display:grid; grid-template-columns:repeat(6,1fr); }

@media (max-width:1200px) {
    .sc-grid-5 { grid-template-columns:repeat(3,1fr); }
    .sc-grid-6 { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px) {
    .sc-grid-3 { grid-template-columns:repeat(2,1fr); }
    .sc-grid-4 { grid-template-columns:repeat(2,1fr); }
    .sc-grid-5 { grid-template-columns:repeat(2,1fr); }
    .sc-grid-6 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
    .sc-grid-2,.sc-grid-3,.sc-grid-4,.sc-grid-5,.sc-grid-6 { grid-template-columns:1fr; }
}

/* Login two-panel split */
.sc-login-split { display:grid; grid-template-columns:1fr 1fr; height:100vh; }
@media (max-width:768px) {
    .sc-login-split { grid-template-columns:1fr; height:auto; }
    .sc-login-left  { display:none; }
}

/* Responsive page padding */
.sc-page-pad { padding:32px; }
@media (max-width:768px) { .sc-page-pad { padding:16px 12px; } }
@media (max-width:480px) { .sc-page-pad { padding:12px 8px; } }

/* Responsive max-width containers */
.sc-container { max-width:760px; margin:0 auto; width:100%; }
@media (max-width:768px) { .sc-container { padding:0 8px; } }

/* Drawers — full-width on mobile */
@media (max-width:600px) {
    .mud-drawer[style] { width:100vw !important; max-width:100vw !important; }
    .mud-drawer-content { width:100vw !important; max-width:100vw !important; }
}

/* Step indicators — no overflow on small screens */
.sc-stepper { display:flex; align-items:center; justify-content:center; gap:0; overflow-x:auto; padding-bottom:4px; }

/* Tables — horizontal scroll fallback on very small screens */
@media (max-width:480px) {
    .mud-table-root { overflow-x:auto; display:block; }
}

/* Stat chip strip — always wraps */
.sc-stat-strip { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }

/* Filter bar — wraps on mobile */
.sc-filter-bar { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; background:white; border:1px solid #e2e8f0; border-radius:12px; padding:14px; margin-bottom:16px; }
