/* ===== Portal (scoped) ===== */
.portal{ }
.portal .hero{
  background:
    radial-gradient(1200px 400px at 12% -20%, #e0f2fe 0, transparent 60%),
    radial-gradient(900px 300px at 100% 0, #ede9fe 0, transparent 60%),
    linear-gradient(180deg, #fff, #f8fafc);
  border:1px solid var(--ring);
  border-radius:16px;
  padding:18px 20px;
}
.portal .card{
  border-radius:14px;
  border:1px solid #eef2f7;
  box-shadow:0 6px 20px rgba(2,6,23,.06);
}
.portal .list-hover .list-group-item{
  transition:background .15s, transform .05s;
}
.portal .list-hover .list-group-item:hover{
  background:#f8fafc;
  transform:translateY(-1px);
}
/* Badge ฝ่าย */
.portal .badge-dept{
  display:inline-flex; align-items:center; gap:6px;
  padding:.25rem .5rem; border-radius:999px; font-weight:600; font-size:.75rem;
}
.portal .badge-dept::before{content:''; width:.55rem; height:.55rem; border-radius:50%;}
.portal .badge-dept[data-dept="admin"]{background:#fee2e2; color:#991b1b;}
.portal .badge-dept[data-dept="admin"]::before{background:#ef4444;}
.portal .badge-dept[data-dept="reg"]{background:#e0e7ff; color:#3730a3;}
.portal .badge-dept[data-dept="reg"]::before{background:#6366f1;}
.portal .badge-dept[data-dept="act"]{background:#dcfce7; color:#166534;}
.portal .badge-dept[data-dept="act"]::before{background:#22c55e;}
.portal .badge-dept[data-dept="acad"]{background:#cffafe; color:#0e7490;}
.portal .badge-dept[data-dept="acad"]::before{background:#06b6d4;}
/* ปุ่มหลักในพอร์ตัลเท่านั้น */
.portal .btn-primary{ background:var(--brand); border-color:var(--brand); }
.portal .btn-primary:hover{ background:var(--brand-600); border-color:var(--brand-600); }
/* ===== Portal: hero + tabs ===== */
.active-tab{
  background: #0d6efd !important;
  color: #fff !important;
  border-color: #0d6efd !important;
  box-shadow: 0 1px 0 rgba(13,110,253,.15);
}

/* ค้นหาใหญ่ */
.portal-search .input-group-text{ background:#fff; }
.portal-search .form-control{ border-left:0; }

/* การ์ดข่าว/กิจกรรม */
.portal-card{
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,.06);
  border: 1px solid #eee;
}
.text-truncate-2{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* แถบแผนก */
.badge-dept{
  border: 1px solid #e6e6e6;
  border-radius: 999px;
  padding: .2rem .6rem;
  font-size: .75rem;
  color: #333;
  background: #fafafa;
}
.badge-dept[data-dept="REG"]{ color:#0d6efd; border-color:#cfe2ff; background:#eef5ff; }
.badge-dept[data-dept="STD"]{ color:#6f42c1; border-color:#e2d9f3; background:#f4effb; }
.badge-dept[data-dept="ACA"]{ color:#198754; border-color:#cfe8dc; background:#e9f7f0; }
/* เติม code อื่น ๆ ตามต้องการ */

/* กล่องล็อกอิน */
.portal-login .input-group-text{
  background: #fff;
  border-right: 0;
}
.portal-login .form-control,
.portal-login .form-select{
  border-left: 0;
}
.portal-login .card-body{ padding: 1.25rem 1.25rem 1rem; }

/* จอเล็ก */
@media (max-width: 991.98px){
  .portal .row.g-4 > .col-lg-8{ order:2; }
  .portal .row.g-4 > .col-lg-4{ order:1; }
}

