/* Sandbox Africa Phase 30: final surface guard and starter-kit alignment */
:root{
  --sa30-bg:#f4f8ff; --sa30-ink:#071126; --sa30-muted:#61708a; --sa30-line:#dbe5f2;
  --sa30-card:rgba(255,255,255,.92); --sa30-dark:#07111f; --sa30-purple:#7047ff; --sa30-cyan:#12bdd7; --sa30-gold:#f2b94b;
  --sa30-radius:28px; --sa30-radius-sm:18px; --sa30-shadow:0 24px 70px rgba(23,39,74,.11);
}
html,body{min-height:100%; background:var(--sa30-bg)!important; color:var(--sa30-ink); font-family:"Inter Tight",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
body.sa-admin-body,body.sandbox-portal-body{overflow:hidden!important;}
.sa-admin-shell,.sa-admin-shell-v27,.sa-portal-shell,.sa-portal-shell-fixed{display:flex!important; min-height:100vh!important; width:100%!important; background:linear-gradient(130deg,#f8fbff 0%,#eef6ff 48%,#fbf7ef 100%)!important; overflow:hidden!important;}
.sa-admin-main,.sa-admin-main-v27,.sa-main{flex:1 1 auto!important; min-width:0!important; min-height:100vh!important; height:100vh!important; overflow-y:auto!important; overflow-x:hidden!important; background:radial-gradient(circle at top right,rgba(42,197,220,.12),transparent 34%),linear-gradient(130deg,#f7fbff,#eef4ff 54%,#fcf7ec)!important;}
.sa-admin-content,.sa-admin-content-v27,.sa-content-wrap{width:min(1440px,calc(100% - 64px))!important; margin:0 auto!important; padding:36px 0 72px!important; min-height:calc(100vh - 88px)!important; position:relative!important; z-index:1!important; display:block!important; visibility:visible!important; opacity:1!important;}
.sa-admin-sidebar,.sa-sidebar{flex:0 0 288px!important; width:288px!important; height:100vh!important; position:sticky!important; top:0!important; overflow:hidden!important; z-index:50!important; background:linear-gradient(180deg,#101a36,#07101f 55%,#07101f)!important; box-shadow:18px 0 48px rgba(2,6,23,.17)!important;}
.sa-admin-sidebar nav,.sa-admin-sidebar .sidebar-menu,.sa-sidebar-nav,.sa-sidebar-scroll{height:calc(100vh - 205px)!important; overflow-y:auto!important; overflow-x:hidden!important; padding-right:6px!important; scrollbar-width:thin;}
.sa-admin-topbar,.sa-admin-nav,.sa-topbar{position:sticky!important; top:0!important; z-index:20!important; backdrop-filter:blur(20px)!important; background:rgba(247,251,255,.84)!important; border-bottom:1px solid rgba(203,213,225,.74)!important; box-shadow:0 10px 30px rgba(15,23,42,.04)!important;}
/* Recover pages accidentally hidden by inherited wrappers */
#app,.main-content,.page-content,.dashboard-content,.admin-main-content,.content-body,.content-wrapper,.main-panel,.right-content{display:block!important; visibility:visible!important; opacity:1!important; min-height:120px;}
body.sa-admin-body .main-content,body.sa-admin-body .page-content,body.sa-admin-body .content-wrapper,body.sa-admin-body .right-content{margin-left:0!important; width:100%!important; max-width:100%!important;}
/* Unified page canvas */
.sa30-page,.sa27-page,.sa-admin-content section,.sa-content-wrap section{position:relative;}
.sa30-hero,.sa27-hero,.sa-admin-hero,.sa-page-hero{border-radius:34px!important; padding:38px!important; background:linear-gradient(135deg,#211949 0%,#0a2333 47%,#607947 100%)!important; color:#fff!important; box-shadow:var(--sa30-shadow)!important; border:1px solid rgba(255,255,255,.18)!important; margin-bottom:28px!important; overflow:hidden!important;}
.sa30-hero h1,.sa27-hero h1,.sa-admin-hero h1,.sa-page-hero h1{font-size:clamp(34px,5vw,64px)!important; line-height:.92!important; letter-spacing:-.065em!important; font-weight:900!important; margin:0 0 14px!important; color:#fff!important;}
.sa30-hero p,.sa27-hero p,.sa-admin-hero p,.sa-page-hero p{max-width:840px; color:rgba(255,255,255,.82)!important; font-size:16px!important; margin:0!important;}
.sa30-eyebrow,.sa27-eyebrow,.sa-eyebrow{display:inline-flex!important; align-items:center!important; gap:8px!important; padding:8px 14px!important; border-radius:999px!important; background:rgba(255,255,255,.14)!important; border:1px solid rgba(255,255,255,.18)!important; color:#ffe49d!important; font-size:11px!important; font-weight:900!important; letter-spacing:.12em!important; text-transform:uppercase!important; margin-bottom:16px!important;}
/* Starter-kit-like cards */
.sa30-grid,.sa27-grid{display:grid!important; gap:22px!important; margin-bottom:24px!important;}
.sa30-grid-2,.sa27-grid-2{grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr)!important;}
.sa30-grid-3,.sa27-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.sa30-grid-4,.sa27-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.sa30-grid-5,.sa27-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
.sa30-panel,.sa27-panel,.sa-card,.card,.dashboard-card,.settings-card,.white-box,.table-responsive{background:var(--sa30-card)!important; border:1px solid rgba(203,213,225,.8)!important; border-radius:var(--sa30-radius)!important; box-shadow:var(--sa30-shadow)!important; padding:24px!important; overflow:hidden!important; color:var(--sa30-ink)!important;}
.sa30-stat,.sa27-stat,.stat-card,.single-counter,.overview-card{background:rgba(255,255,255,.92)!important; border:1px solid rgba(203,213,225,.8)!important; border-radius:24px!important; padding:22px!important; box-shadow:0 18px 50px rgba(15,23,42,.08)!important; min-height:118px!important;}
.sa30-stat span,.sa27-stat span,.stat-card span{display:block!important; color:var(--sa30-muted)!important; font-size:12px!important; font-weight:700!important; margin-bottom:8px!important;}
.sa30-stat strong,.sa27-stat strong,.stat-card strong{font-size:34px!important; line-height:1!important; letter-spacing:-.04em!important; color:var(--sa30-ink)!important; font-weight:900!important;}
.sa30-header,.sa27-header,.card-header,.panel-heading{display:flex!important; align-items:flex-start!important; justify-content:space-between!important; gap:16px!important; background:transparent!important; border:0!important; padding:0 0 16px!important; margin:0!important;}
.sa30-header h2,.sa27-header h2,.card-title,.panel-title{font-size:24px!important; line-height:1.05!important; letter-spacing:-.04em!important; color:var(--sa30-ink)!important; font-weight:900!important; margin:0 0 6px!important;}
.sa30-header p,.sa27-header p,.card-header p{color:var(--sa30-muted)!important; margin:0!important;}
/* Forms */
.sa30-form-grid,.sa27-form-grid,form .row{display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important;}
.sa30-field.full,.sa27-field.full,.full{grid-column:1 / -1!important;}
.sa30-field label,.sa27-field label,label{font-size:13px!important; font-weight:800!important; color:#22314a!important; margin-bottom:7px!important;}
.sa30-field input,.sa30-field select,.sa30-field textarea,.sa27-field input,.sa27-field select,.sa27-field textarea,input.form-control,select.form-control,textarea.form-control,input,select,textarea{border:1px solid rgba(203,213,225,.95)!important; border-radius:16px!important; min-height:48px!important; padding:12px 14px!important; background:#fff!important; color:#0f172a!important; box-shadow:none!important; outline:none!important; width:100%;}
textarea{min-height:96px!important;}
input:focus,select:focus,textarea:focus,.form-control:focus{border-color:rgba(112,71,255,.5)!important; box-shadow:0 0 0 4px rgba(112,71,255,.12)!important;}
.sa30-btn,.sa27-btn,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger,.btn{display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:8px!important; border-radius:999px!important; min-height:44px!important; padding:11px 18px!important; font-weight:900!important; border:0!important; text-decoration:none!important;}
.sa30-btn.primary,.sa27-btn.primary,.btn-primary,.btn-success{background:linear-gradient(135deg,var(--sa30-purple),var(--sa30-cyan))!important; color:#fff!important; box-shadow:0 14px 28px rgba(112,71,255,.22)!important;}
.sa30-btn.gold,.sa27-btn.gold,.btn-warning{background:linear-gradient(135deg,#f7c75c,#e5a332)!important; color:#08111f!important;}
/* Tables */
.sa30-table-wrap,.sa27-table-wrap,.table-responsive{overflow:auto!important; padding:0!important;}
table,.sa30-table,.sa27-table,.dataTable{width:100%!important; border-collapse:separate!important; border-spacing:0!important; background:#fff!important; border-radius:22px!important; overflow:hidden!important;}
table thead th,.sa30-table thead th,.sa27-table thead th,.dataTable thead th{background:#f8fafc!important; color:#718096!important; font-size:12px!important; letter-spacing:.08em!important; text-transform:uppercase!important; font-weight:900!important; border:0!important; padding:16px!important;}
table tbody td,.sa30-table tbody td,.sa27-table tbody td,.dataTable tbody td{border-top:1px solid #e8eef6!important; padding:16px!important; color:#1f2a44!important; vertical-align:top!important;}
.sa30-empty,.sa27-empty,.empty-state{border:1px dashed rgba(148,163,184,.55)!important; background:linear-gradient(135deg,rgba(255,255,255,.75),rgba(244,248,255,.9))!important; border-radius:24px!important; padding:34px!important; text-align:center!important; color:var(--sa30-muted)!important;}
.sa30-empty strong,.sa27-empty strong{display:block!important; color:var(--sa30-ink)!important; font-size:18px!important; font-weight:900!important; margin-bottom:6px!important;}
.sa30-badge,.sa27-badge,.badge{display:inline-flex!important; align-items:center!important; border-radius:999px!important; padding:6px 10px!important; background:#eef6ff!important; color:#2453c9!important; font-size:12px!important; font-weight:900!important; border:1px solid rgba(36,83,201,.14)!important;}
/* Failsafe blank content indicator */
.sa-blank-rescue{max-width:760px;margin:64px auto;padding:28px;border-radius:28px;background:#fff;border:1px solid #dbe5f2;box-shadow:var(--sa30-shadow);color:#0f172a;}
.sa-blank-rescue h2{font-size:26px;font-weight:900;margin:0 0 8px;letter-spacing:-.04em}.sa-blank-rescue p{color:#64748b;margin:0 0 16px}.sa-blank-rescue code{background:#f1f5f9;border-radius:8px;padding:3px 6px;color:#334155}
@media(max-width:1200px){.sa30-grid-5,.sa27-grid-5,.sa30-grid-4,.sa27-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sa30-grid-2,.sa27-grid-2{grid-template-columns:1fr!important}.sa-admin-content,.sa-admin-content-v27,.sa-content-wrap{width:calc(100% - 32px)!important}}
@media(max-width:860px){body.sa-admin-body,body.sandbox-portal-body{overflow:auto!important}.sa-admin-shell,.sa-portal-shell{display:block!important; overflow:visible!important}.sa-admin-sidebar,.sa-sidebar{position:fixed!important; left:0; top:0; transform:translateX(-105%); transition:.25s ease;}.sa-admin-sidebar.is-open,.sa-sidebar.is-open{transform:translateX(0)}.sa-admin-main,.sa-main{height:auto!important; min-height:100vh!important; overflow:visible!important}.sa30-form-grid,.sa27-form-grid,form .row,.sa30-grid-3,.sa27-grid-3,.sa30-grid-4,.sa27-grid-4,.sa30-grid-5,.sa27-grid-5{grid-template-columns:1fr!important}.sa30-hero,.sa27-hero{padding:26px!important}.sa30-hero h1,.sa27-hero h1{font-size:38px!important}}
