
:root{
  --bge-bg:#f5f7fb;
  --bge-card:#ffffff;
  --bge-card-soft:#f8fafc;
  --bge-text:#0f172a;
  --bge-muted:#64748b;
  --bge-border:#e2e8f0;
  --bge-primary:#2563eb;
  --bge-primary-dark:#1d4ed8;
  --bge-primary-soft:#dbeafe;
  --bge-purple:#7c3aed;
  --bge-green:#16a34a;
  --bge-shadow:0 18px 45px rgba(15,23,42,.08);
  --bge-shadow-soft:0 8px 25px rgba(15,23,42,.06);
  --bge-radius:20px;
}

.bge-wrap,
.bge-front{
  max-width:1240px;
  color:var(--bge-text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.bge-front{
  margin:24px auto;
  padding:24px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 42%,#f8fafc 100%);
  border:1px solid rgba(226,232,240,.9);
  border-radius:28px;
  box-shadow:var(--bge-shadow-soft);
}
.bge-wrap h1,
.bge-front h2{
  margin:14px 0 18px;
  font-size:30px;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--bge-text);
}
.bge-wrap h2,
.bge-front h3{
  font-size:20px;
  font-weight:760;
  letter-spacing:-.02em;
  color:var(--bge-text);
}
.bge-wrap p,
.bge-front p{color:var(--bge-muted);line-height:1.65}

/* Admin two-column app layout */
.bge-admin-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.bge-admin-sidebar{
  position:sticky;
  top:52px;
  min-height:540px;
  padding:18px;
  border-radius:26px;
  background:
    radial-gradient(circle at top left,rgba(96,165,250,.35),transparent 32%),
    linear-gradient(160deg,#0f172a 0%,#111827 52%,#1e1b4b 100%);
  box-shadow:0 22px 55px rgba(15,23,42,.22);
  overflow:hidden;
}
.bge-admin-sidebar:before{
  content:"";
  display:block;
  height:4px;
  margin:-18px -18px 18px;
  background:linear-gradient(90deg,#38bdf8,#818cf8,#c084fc);
}
.bge-admin-sidebar h2{
  color:#fff;
  margin:2px 0 18px;
  font-size:19px;
  font-weight:800;
  letter-spacing:-.02em;
}
.bge-admin-link{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  color:#cbd5e1;
  text-decoration:none;
  padding:12px 14px;
  border-radius:15px;
  margin-bottom:8px;
  font-weight:700;
  transition:all .18s ease;
}
.bge-admin-link:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#64748b;
  box-shadow:0 0 0 4px rgba(100,116,139,.12);
}
.bge-admin-link:hover,
.bge-admin-link.active{
  color:#fff;
  background:rgba(255,255,255,.12);
  transform:translateX(3px);
}
.bge-admin-link.active:before,
.bge-admin-link:hover:before{
  background:#38bdf8;
  box-shadow:0 0 0 4px rgba(56,189,248,.18);
}
.bge-admin-main{min-width:0}

/* Cards and panels */
.bge-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:18px;
  margin:22px 0 28px;
}
.bge-card,
.bge-panel,
.bge-post,
.bge-chat{
  background:rgba(255,255,255,.96);
  border:1px solid var(--bge-border);
  border-radius:var(--bge-radius);
  box-shadow:var(--bge-shadow-soft);
}
.bge-card{
  position:relative;
  overflow:hidden;
  padding:24px;
}
.bge-card:after{
  content:"";
  position:absolute;
  right:-34px;
  top:-34px;
  width:115px;
  height:115px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(124,58,237,.08));
}
.bge-card strong{
  display:block;
  font-size:40px;
  line-height:1;
  color:var(--bge-primary);
  letter-spacing:-.05em;
}
.bge-card span{
  display:block;
  margin-top:9px;
  color:var(--bge-muted);
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:12px;
}
.bge-panel{
  padding:24px;
  margin:0 0 22px;
}
.bge-panel h2{
  margin-top:0;
  padding-bottom:13px;
  border-bottom:1px solid var(--bge-border);
}

/* Forms */
.bge-panel label,
.bge-comments label,
.bge-chat label{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:800;
  color:#334155;
  letter-spacing:.01em;
}
.bge-panel input[type=text],
.bge-panel input[type=number],
.bge-panel input:not([type]),
.bge-panel textarea,
.bge-panel select,
.bge-comments textarea,
.bge-chat textarea,
.bge-group-selector select{
  width:100%;
  max-width:100%;
  min-height:43px;
  border:1px solid #cbd5e1;
  border-radius:14px;
  background:#fff;
  color:var(--bge-text);
  padding:10px 12px;
  box-shadow:0 1px 0 rgba(15,23,42,.02);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.bge-panel textarea,
.bge-comments textarea,
.bge-chat textarea{min-height:94px;resize:vertical}
.bge-panel input:focus,
.bge-panel textarea:focus,
.bge-panel select:focus,
.bge-comments textarea:focus,
.bge-chat textarea:focus,
.bge-group-selector select:focus{
  border-color:var(--bge-primary);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
  outline:none;
}
.bge-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;
}
.bge-checks{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(235px,1fr));
  gap:10px;
  margin-top:10px;
}
.bge-checks label{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  padding:12px 13px;
  background:var(--bge-card-soft);
  border:1px solid var(--bge-border);
  border-radius:15px;
  font-weight:700;
  color:#334155;
}
.bge-checks label:hover{background:#eef6ff;border-color:#bfdbfe}
.bge-check-category{
  grid-column:1/-1;
  margin-top:8px;
  padding:10px 13px;
  border-radius:14px;
  background:linear-gradient(90deg,var(--bge-primary-soft),#f5f3ff);
  color:#1e3a8a;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* Buttons */
.bge-wrap .button,
.bge-front button,
.bge-like,
.bge-post button,
.bge-chat button,
.bge-comments button{
  border:0 !important;
  border-radius:14px !important;
  padding:10px 16px !important;
  font-weight:800 !important;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.bge-wrap .button-primary,
.bge-front button,
.bge-like,
.bge-post button,
.bge-chat button,
.bge-comments button{
  color:#fff !important;
  background:linear-gradient(135deg,var(--bge-primary),var(--bge-purple)) !important;
  box-shadow:0 10px 24px rgba(37,99,235,.22) !important;
}
.bge-wrap .button:not(.button-primary){
  background:#eef2ff !important;
  color:#1e3a8a !important;
}
.bge-wrap .button:hover,
.bge-front button:hover,
.bge-like:hover,
.bge-chat button:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(37,99,235,.26) !important;
}

/* Tables */
.bge-table,
.bge-wrap .widefat{
  width:100%;
  border:1px solid var(--bge-border) !important;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--bge-shadow-soft);
}
.bge-table th,
.bge-table td,
.bge-wrap .widefat th,
.bge-wrap .widefat td{
  padding:14px 15px !important;
  border-bottom:1px solid #eef2f7 !important;
  color:#334155;
  vertical-align:middle;
}
.bge-table th,
.bge-wrap .widefat th{
  background:linear-gradient(180deg,#f8fafc,#eef2ff) !important;
  color:#0f172a;
  font-size:12px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.bge-table tr:last-child td,
.bge-wrap .widefat tr:last-child td{border-bottom:0 !important}
.bge-wrap .widefat tbody tr:hover,
.bge-table tbody tr:hover{background:#f8fbff}

/* Front dashboard */
.bge-two{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);
  gap:22px;
  align-items:start;
}
.bge-group-selector{
  margin:0 0 22px;
  padding:18px;
  background:#fff;
  border:1px solid var(--bge-border);
  border-radius:20px;
  box-shadow:var(--bge-shadow-soft);
}
.bge-group-selector label{
  display:block;
  margin-bottom:8px;
  font-weight:850;
  color:#334155;
}
.bge-post{
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
  padding:24px;
}
.bge-post:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--bge-primary),var(--bge-purple));
}
.bge-post h3{
  margin:0 0 10px;
  font-size:21px;
  font-weight:850;
  letter-spacing:-.02em;
}
.bge-content{
  color:#334155;
  line-height:1.7;
}
.bge-like{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:10px 0 12px;
}
.bge-like span{
  display:inline-flex;
  min-width:22px;
  height:22px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.2);
  font-size:12px;
}
.bge-comments{
  margin-top:14px;
  padding-top:16px;
  border-top:1px solid var(--bge-border);
}
.bge-comments strong{display:block;margin-bottom:10px;color:#334155}
.bge-comments p{
  margin:8px 0;
  padding:11px 12px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
  color:#475569;
}
.bge-poll,
.bge-test{
  margin:15px 0;
  padding:17px;
  background:linear-gradient(180deg,#f8fafc,#ffffff);
  border:1px solid var(--bge-border);
  border-radius:18px;
}
.bge-poll strong,
.bge-test strong{display:block;margin-bottom:10px;color:#0f172a;font-size:16px}
.bge-poll label,
.bge-test label{display:block;margin:10px 0;color:#334155;font-weight:650}

/* Chat */
.bge-chat{
  padding:16px;
}
.bge-chat-messages{
  height:285px;
  overflow:auto;
  margin-bottom:12px;
  padding:12px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #eef2f7;
}
.bge-chat-msg{
  margin-bottom:9px;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:15px;
  background:#fff;
  color:#475569;
}
.bge-chat-msg strong{color:#0f172a}
.bge-chat button{margin-top:8px;width:100%}

/* Small screens */
@media(max-width:980px){
  .bge-admin-layout,.bge-two{grid-template-columns:1fr}
  .bge-admin-sidebar{position:relative;top:auto;min-height:auto}
  .bge-admin-link{display:inline-flex;margin:4px 5px 4px 0}
}
@media(max-width:640px){
  .bge-front{padding:16px;border-radius:20px}
  .bge-wrap h1,.bge-front h2{font-size:25px}
  .bge-panel,.bge-post{padding:18px}
  .bge-cards{grid-template-columns:1fr}
}
