
:root{
  --gep-bg:#eef2ff;
  --gep-card:#ffffff;
  --gep-ink:#0f172a;
  --gep-muted:#64748b;
  --gep-border:#e5e7eb;
  --gep-primary:#2563eb;
  --gep-primary-2:#1d4ed8;
  --gep-dark:#0b1220;
  --gep-dark-2:#111827;
  --gep-radius:22px;
}

.gep-shell{
  max-width: 980px;
  margin: 24px auto;
  background: linear-gradient(180deg, #0b1220 0%, #111827 38%, var(--gep-bg) 38%, var(--gep-bg) 100%);
  border-radius: var(--gep-radius);
  box-shadow: 0 18px 50px rgba(2,6,23,.18);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  position: relative;
}

.gep-top{
  padding: 18px 18px 0 18px;
  color: #e5e7eb;
}

.gep-brand{
  display:flex;
  gap:12px;
  align-items:center;
}

.gep-logo{
  width:42px;height:42px;border-radius:12px;
  background: radial-gradient(circle at 35% 35%, #93c5fd 0%, #60a5fa 30%, #2563eb 70%, #1e40af 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}

.gep-title{font-size:20px;font-weight:800;letter-spacing:.2px;line-height:1.2}
.gep-subtitle{font-size:13px;color:rgba(229,231,235,.72);margin-top:2px}

.gep-top-actions{margin-left:auto;display:flex;gap:10px}
.gep-brand{justify-content:space-between}
.gep-icon-btn{
  width:42px;height:42px;border-radius:14px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:#e5e7eb;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.gep-icon-btn .dashicons{font-size:20px;line-height:1}

.gep-tabs{
  margin-top:14px;
  display:flex;
  gap:10px;
  padding-bottom:14px;
}
.gep-tab{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:#e5e7eb;
  padding:10px 14px;
  border-radius: 999px;
  font-weight:700;
  cursor:pointer;
  font-size:14px;
}
.gep-tab.is-active{
  background: linear-gradient(180deg, var(--gep-primary) 0%, var(--gep-primary-2) 100%);
  border-color: rgba(255,255,255,.18);
}

.gep-main{
  background: var(--gep-bg);
  padding: 18px;
  min-height: 520px;
}

.gep-panel{display:none}
.gep-panel.is-active{display:block}

.gep-h2{
  margin: 2px 0 6px 0;
  font-size: 34px;
  letter-spacing:-.5px;
  color: var(--gep-ink);
}
.gep-muted{margin:0 0 16px 0;color:var(--gep-muted);font-size:15px}

.gep-row{margin: 10px 0 16px 0}
.gep-label{display:block;font-weight:700;color:#334155;margin:0 0 8px 0}
.gep-select,.gep-input{
  width: 100%;
  max-width: 320px;
  padding: 14px 14px;
  border-radius: 16px;
  border:1px solid var(--gep-border);
  background:#fff;
  font-size: 16px;
  outline: none;
}

.gep-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.gep-card{
  background: var(--gep-card);
  border:1px solid var(--gep-border);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 10px 18px rgba(2,6,23,.06);
  display:flex;
  flex-direction: column;
  min-height: 260px;
}
.gep-thumb{
  height: 150px;
  background: linear-gradient(135deg, #e0f2fe 0%, #e5e7eb 55%, #eef2ff 100%);
  display:flex;
  align-items:center;
  justify-content:center;
}
.gep-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gep-card-body{padding:12px 12px 14px 12px;display:flex;flex-direction:column;gap:6px}
.gep-card-title{font-weight:800;color:#0f172a;line-height:1.2;font-size:15px}
.gep-card-sub{color:#475569;font-size:12.5px;line-height:1.3;min-height:34px}
.gep-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  background: linear-gradient(180deg, var(--gep-primary) 0%, var(--gep-primary-2) 100%);
  color:white;
  border:none;
  border-radius: 12px;
  font-weight:800;
  cursor:pointer;
  font-size: 14px;
}
.gep-btn:disabled{opacity:.55;cursor:not-allowed}

.gep-empty{padding: 16px 0}
.gep-empty-box{
  border:2px dashed rgba(15,23,42,.20);
  background: rgba(255,255,255,.55);
  border-radius: 18px;
  padding: 22px;
  max-width: 520px;
}
.gep-warn{font-size:24px;margin-bottom:10px}
.gep-empty-title{font-size:22px;font-weight:900;color:#0f172a}
.gep-empty-msg{color:#475569;margin:6px 0 14px 0;white-space:pre-wrap}

.gep-bottom{
  position: sticky;
  bottom: 0;
  display:flex;
  gap: 10px;
  padding: 14px;
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(15,23,42,.10);
}
.gep-nav-btn{
  flex: 1;
  border: 1px solid rgba(15,23,42,.08);
  background: #ffffff;
  border-radius: 18px;
  padding: 10px 8px;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap: 6px;
  cursor:pointer;
  min-height: 56px;
}
.gep-nav-btn .dashicons{font-size:20px}
.gep-nav-label{font-weight:800;color:#0f172a;font-size:12px;line-height:1;white-space:nowrap}
.gep-nav-btn.is-active{
  background: rgba(37,99,235,.10);
  border-color: rgba(37,99,235,.22);
}

.gep-compare{display:grid;grid-template-columns: 1fr 70px 1fr;gap:14px;align-items:start;margin-top:10px}
.gep-compare-mid{display:flex;align-items:center;justify-content:center;font-weight:900;color:#334155;background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.10);border-radius: 18px;height: 52px;margin-top:28px}
.gep-suggestions{position:relative}
.gep-suggest-list{
  position:absolute;z-index:20;left:0;right:0;top:6px;
  background:#fff;border:1px solid var(--gep-border);
  border-radius: 14px;
  overflow:hidden;
  box-shadow: 0 12px 24px rgba(2,6,23,.10);
}
.gep-suggest-item{padding:10px 12px;cursor:pointer;font-weight:700;color:#0f172a}
.gep-suggest-item:hover{background:#f1f5f9}
.gep-compare-actions{margin-top:12px}

.gep-guide-card{
  background:#fff;border:1px solid var(--gep-border);
  border-radius: 18px;padding:16px;
  box-shadow: 0 10px 18px rgba(2,6,23,.06);
}
.gep-guide-title{font-weight:900;font-size:18px;color:#0f172a}
.gep-guide-desc{color:#475569;margin-top:6px}

@media (max-width: 920px){
  .gep-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 520px){
  .gep-shell{margin: 12px auto;border-radius: 26px}
  .gep-main{padding: 16px}
  .gep-h2{font-size: 30px}
  .gep-grid{grid-template-columns: 1fr;}
  .gep-compare{grid-template-columns: 1fr;gap:12px}
  .gep-compare-mid{display:none}
  .gep-select,.gep-input{max-width: 100%}
}
