/* ============================================================
   KREATIF PAI — FRESH UI 2026
   Lapisan visual tambahan. Tidak mengubah logika aplikasi.
   ============================================================ */
:root{
  --fresh-primary:#0b7a67;
  --fresh-primary-strong:#075f52;
  --fresh-secondary:#2756d9;
  --fresh-accent:#f4b740;
  --fresh-ink:#12213b;
  --fresh-muted:#68758a;
  --fresh-bg:#f5f7fb;
  --fresh-surface:#ffffff;
  --fresh-line:#e4e9f1;
  --fresh-soft-green:#eaf8f4;
  --fresh-soft-blue:#edf3ff;
  --fresh-radius:20px;
  --fresh-radius-sm:14px;
  --fresh-shadow:0 14px 40px rgba(18,33,59,.08);
  --fresh-shadow-hover:0 22px 54px rgba(18,33,59,.13);
}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans','Poppins',Inter,'Segoe UI',system-ui,sans-serif;color:var(--fresh-ink);background:var(--fresh-bg)}
a{text-underline-offset:3px}
::selection{background:#ccefe7;color:#064e43}

/* PUBLIC NAVIGATION */
.public-shell .navbar{
  min-height:78px;
  background:rgba(255,255,255,.9)!important;
  border-bottom:1px solid rgba(228,233,241,.82);
  box-shadow:0 8px 28px rgba(18,33,59,.05)!important;
  backdrop-filter:blur(18px) saturate(140%);
}
.public-shell .navbar-brand{gap:10px;color:var(--fresh-primary-strong)!important;font-weight:850!important;letter-spacing:-.025em}
.public-shell .navbar-brand img{width:42px!important;height:42px!important;border-radius:13px;padding:4px;background:#fff;box-shadow:0 7px 18px rgba(18,33,59,.08)}
.public-shell .navbar .nav-link{color:#526078;font-size:.9rem;font-weight:700!important;border-radius:12px;padding:.65rem .82rem!important}
.public-shell .navbar .nav-link:hover,.public-shell .navbar .nav-link.active{color:var(--fresh-primary);background:var(--fresh-soft-green)}
.public-shell .navbar .nav-link.btn{background:linear-gradient(135deg,var(--fresh-primary),#0d8b75)!important;border:0!important;box-shadow:0 9px 22px rgba(11,122,103,.2)!important}

/* PUBLIC HOMEPAGE */
.home-fresh{overflow:hidden;background:
  radial-gradient(circle at 8% 4%,rgba(39,86,217,.07),transparent 24rem),
  radial-gradient(circle at 93% 18%,rgba(11,122,103,.08),transparent 26rem),
  #f8fafc}
.home-fresh .section-pad{padding:clamp(4rem,7vw,6.3rem) 0}
.home-fresh .section-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:var(--fresh-soft-green);color:var(--fresh-primary-strong);font-size:.75rem;font-weight:800;letter-spacing:.02em}
.home-fresh .section-heading{font-size:clamp(1.65rem,3vw,2.5rem);font-weight:850;letter-spacing:-.04em;margin:.75rem 0 .55rem;color:var(--fresh-ink)}
.home-fresh .section-lead{max-width:690px;color:var(--fresh-muted);line-height:1.75;margin:0 auto}
.fresh-hero{position:relative;isolation:isolate;padding:clamp(4.7rem,8vw,7.2rem) 0;color:#fff;background-position:center;background-size:cover;overflow:hidden}
.fresh-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,rgba(5,64,57,.96) 0%,rgba(8,89,79,.91) 48%,rgba(31,63,137,.82) 100%)}
.fresh-hero:after{content:"";position:absolute;z-index:-1;width:590px;height:590px;border-radius:50%;right:-260px;top:-260px;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 68%)}
.fresh-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);font-size:.78rem;font-weight:800}
.fresh-hero h1{font-size:clamp(2.25rem,5.4vw,4.65rem);font-weight:900;letter-spacing:-.055em;line-height:1.03;margin:18px 0 18px;max-width:780px;text-shadow:0 8px 28px rgba(0,0,0,.12)}
.fresh-hero p{max-width:690px;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.75}
.fresh-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.fresh-hero-actions .btn{min-height:50px;border-radius:14px;padding:.75rem 1.15rem;font-weight:800}
.fresh-hero-actions .btn-light{color:var(--fresh-primary-strong);border:0}
.fresh-hero-actions .btn-outline-light{border-color:rgba(255,255,255,.5)}
.hero-glass{position:relative;border:1px solid rgba(255,255,255,.2);border-radius:26px;padding:20px;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.08));backdrop-filter:blur(15px);box-shadow:0 24px 58px rgba(1,34,46,.22)}
.hero-glass-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.hero-glass-head strong{font-weight:850}.hero-glass-head span{font-size:.72rem;color:rgba(255,255,255,.7)}
.hero-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hero-stat{padding:16px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}
.hero-stat i{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.14);margin-bottom:12px}.hero-stat strong{font-size:1.65rem;font-weight:900;display:block;line-height:1}.hero-stat small{font-size:.72rem;color:rgba(255,255,255,.7);display:block;margin-top:7px}
.hero-mini-event{margin-top:10px;padding:15px;border-radius:18px;background:#fff;color:var(--fresh-ink)}.hero-mini-event .tag{font-size:.68rem;font-weight:850;color:var(--fresh-primary);text-transform:uppercase;letter-spacing:.06em}.hero-mini-event strong{display:block;margin:5px 0;font-size:.9rem}.hero-mini-event small{color:var(--fresh-muted)}

.fresh-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.fresh-service-card{display:block;height:100%;padding:22px;border:1px solid var(--fresh-line);border-radius:21px;background:#fff;color:var(--fresh-ink);text-decoration:none;box-shadow:0 8px 28px rgba(18,33,59,.045);transition:.22s ease}.fresh-service-card:hover{transform:translateY(-5px);box-shadow:var(--fresh-shadow-hover);border-color:#cdd8e6;color:var(--fresh-ink)}
.fresh-service-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:1.25rem;background:linear-gradient(135deg,var(--fresh-soft-green),var(--fresh-soft-blue));color:var(--fresh-primary);margin-bottom:18px}.fresh-service-card h3{font-size:1rem;font-weight:850;margin-bottom:7px}.fresh-service-card p{font-size:.8rem;line-height:1.6;color:var(--fresh-muted);margin:0}.fresh-service-card .arrow{display:inline-flex;margin-top:16px;color:var(--fresh-primary);font-weight:800;font-size:.77rem}

.feature-panel{border:1px solid var(--fresh-line);border-radius:26px;background:#fff;box-shadow:var(--fresh-shadow);overflow:hidden}.feature-panel-body{padding:clamp(1.4rem,3vw,2.3rem)}
.event-date-block{width:88px;min-width:88px;border-radius:19px;padding:13px;text-align:center;background:linear-gradient(145deg,var(--fresh-primary),#146d9e);color:#fff}.event-date-block strong{font-size:1.8rem;line-height:1;font-weight:900;display:block}.event-date-block small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.event-date-block span{font-size:.69rem;color:rgba(255,255,255,.75)}
.registrant-stack{display:flex}.registrant-stack .mini-avatar{width:38px;height:38px;border-radius:50%;margin-left:-8px;border:3px solid #fff;display:grid;place-items:center;background:#e9f7f3;color:var(--fresh-primary);font-size:.7rem;font-weight:850}.registrant-stack .mini-avatar:first-child{margin-left:0}

.tpg-showcase{position:relative;overflow:hidden;background:linear-gradient(135deg,#082f32 0%,#075f52 48%,#17477a 100%);color:#fff}.tpg-showcase:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-170px;top:-160px;background:rgba(255,255,255,.07)}.tpg-showcase .container{position:relative;z-index:1}.tpg-showcase .section-kicker{background:rgba(255,255,255,.12);color:#fff}.tpg-showcase .section-heading{color:#fff}.tpg-showcase .section-lead{color:rgba(255,255,255,.7)}
.tpg-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tpg-preview-card{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}.tpg-preview-photo,.tpg-preview-initials{width:54px;height:54px;flex:0 0 54px;border-radius:16px;object-fit:cover;border:2px solid rgba(255,255,255,.55)}.tpg-preview-initials{display:grid;place-items:center;background:rgba(255,255,255,.14);font-weight:900}.tpg-preview-card strong{font-size:.83rem;line-height:1.35;display:block}.tpg-preview-card small{font-size:.69rem;color:rgba(255,255,255,.7);display:block;margin-top:3px}.tpg-year{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;background:rgba(244,183,64,.15);color:#ffd67b;font-size:.64rem;font-weight:850}

.status-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.status-column{border:1px solid var(--fresh-line);border-radius:21px;background:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(18,33,59,.045)}.status-column-head{display:flex;align-items:center;gap:10px;padding:16px 17px;border-bottom:1px solid var(--fresh-line);font-weight:850}.status-column-head i{width:35px;height:35px;border-radius:11px;display:grid;place-items:center}.status-column.upcoming .status-column-head i{background:#eaf2ff;color:#2756d9}.status-column.live .status-column-head i{background:#fff0f0;color:#d93838}.status-column.done .status-column-head i{background:#eef1f5;color:#617087}.status-item{padding:14px 17px;border-bottom:1px solid #eef1f5}.status-item:last-child{border-bottom:0}.status-item strong{font-size:.82rem;display:block;line-height:1.4}.status-item small{color:var(--fresh-muted);font-size:.72rem}

.news-fresh-card{height:100%;border:1px solid var(--fresh-line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 9px 28px rgba(18,33,59,.05);transition:.2s ease}.news-fresh-card:hover{transform:translateY(-4px);box-shadow:var(--fresh-shadow-hover)}.news-fresh-card img{width:100%;height:205px;object-fit:cover}.news-fresh-body{padding:18px}.news-fresh-body h3{font-size:1rem;font-weight:850;line-height:1.45;margin:9px 0}.news-fresh-meta{display:flex;align-items:center;gap:8px;color:var(--fresh-muted);font-size:.71rem}.news-fresh-link{display:inline-flex;align-items:center;gap:6px;color:var(--fresh-primary);text-decoration:none;font-size:.76rem;font-weight:850;margin-top:14px}
.chart-fresh-card{height:100%;border:1px solid var(--fresh-line);border-radius:21px;background:#fff;padding:18px;box-shadow:0 8px 28px rgba(18,33,59,.045)}.chart-fresh-card h3{font-size:.92rem;font-weight:850;text-align:center;margin-bottom:14px}

/* PUBLIC GPAI TPG DIRECTORY */
.tpg-public-page{min-height:70vh;background:
 radial-gradient(circle at 0% 5%,rgba(11,122,103,.08),transparent 22rem),
 radial-gradient(circle at 100% 20%,rgba(39,86,217,.07),transparent 24rem),#f7f9fc}
.tpg-public-hero{position:relative;overflow:hidden;border-radius:28px;padding:clamp(2rem,4vw,3.2rem);background:linear-gradient(125deg,#064e46,#0b7a67 56%,#204da8);color:#fff;box-shadow:0 22px 52px rgba(11,92,84,.16)}.tpg-public-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;top:-130px;background:rgba(255,255,255,.09)}.tpg-public-hero>*{position:relative;z-index:1}.tpg-public-hero h1{font-size:clamp(1.8rem,4vw,3rem);font-weight:900;letter-spacing:-.045em}.tpg-public-hero p{max-width:720px;color:rgba(255,255,255,.75);line-height:1.7}.tpg-public-stat{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tpg-public-stat span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem;font-weight:800}
.tpg-filter-panel{margin-top:18px;padding:15px;border:1px solid var(--fresh-line);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(18,33,59,.05)}
.tpg-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tpg-member-card{position:relative;overflow:hidden;height:100%;padding:19px;border:1px solid var(--fresh-line);border-radius:21px;background:#fff;box-shadow:0 8px 28px rgba(18,33,59,.05);transition:.2s ease}.tpg-member-card:hover{transform:translateY(-4px);box-shadow:var(--fresh-shadow-hover);border-color:#ced9e7}.tpg-member-card:after{content:"";position:absolute;width:115px;height:115px;border-radius:50%;right:-54px;bottom:-60px;background:linear-gradient(135deg,rgba(11,122,103,.07),rgba(39,86,217,.07))}.tpg-member-head{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.tpg-member-photo,.tpg-member-initials{width:70px;height:70px;flex:0 0 70px;border-radius:19px;object-fit:cover;box-shadow:0 7px 18px rgba(18,33,59,.1)}.tpg-member-initials{display:grid;place-items:center;background:linear-gradient(135deg,#e7f8f3,#eaf1ff);color:var(--fresh-primary);font-size:1.25rem;font-weight:900}.tpg-member-name{font-size:.98rem;font-weight:900;line-height:1.35;margin:0 0 5px}.tpg-certified-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#eaf8f4;color:#087363;font-size:.65rem;font-weight:850}.tpg-member-meta{position:relative;z-index:1;display:grid;gap:9px;margin-top:15px;padding-top:14px;border-top:1px solid #edf1f5}.tpg-member-row{display:grid;grid-template-columns:26px 1fr;gap:7px;font-size:.78rem;color:#5b687e}.tpg-member-row i{color:var(--fresh-primary)}.tpg-member-row strong{display:block;color:#344054;font-size:.71rem}.tpg-member-row small{color:var(--fresh-muted)}

/* APP / DASHBOARD FRESH OVERRIDES */
.app-shell-body{background:
 radial-gradient(circle at 95% 3%,rgba(39,86,217,.06),transparent 27rem),
 radial-gradient(circle at 7% 92%,rgba(11,122,103,.055),transparent 28rem),
 var(--fresh-bg)}
.app-shell-body .sidebar{background:linear-gradient(180deg,#073e3a 0%,#075f52 47%,#153f6c 100%);box-shadow:14px 0 40px rgba(18,33,59,.14)}
.app-shell-body .sidebar-sticky{padding:16px 11px 26px!important}
.app-shell-body .sidebar-sticky::before{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.11rem;letter-spacing:-.01em;padding-top:13px}
.app-shell-body .sidebar-sticky::after{font-size:.65rem;line-height:1.5;color:rgba(255,255,255,.61);padding-bottom:16px}
.app-shell-body .sidebar-heading{color:rgba(255,255,255,.44);font-size:.63rem;letter-spacing:.15em;margin-top:18px!important}
.app-shell-body .sidebar .nav-link{min-height:47px;border-radius:13px;padding:10px 12px;font-size:.88rem;color:rgba(255,255,255,.78)}
.app-shell-body .sidebar .nav-link .bi{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.075);margin-right:9px;font-size:.96rem}
.app-shell-body .sidebar .nav-link:hover{background:rgba(255,255,255,.09);transform:translateX(3px)}
.app-shell-body .sidebar .nav-link.active{background:#fff;color:#075f52;border-color:transparent;box-shadow:0 8px 20px rgba(0,0,0,.11)}
.app-shell-body .sidebar .nav-link.active .bi{background:#eaf8f4;color:#087363}
.app-shell-body .main-content{padding:34px 36px 50px}
.app-shell-body .main-content > .d-flex.border-bottom,.app-shell-body .main-content > .pt-3.border-bottom{border:0!important;padding:0 0 18px!important;position:relative}.app-shell-body .main-content > .d-flex.border-bottom:after,.app-shell-body .main-content > .pt-3.border-bottom:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#dfe5ed,transparent)}
.app-shell-body .main-content h1.h2{font-size:clamp(1.55rem,2.3vw,2.1rem);font-weight:900;letter-spacing:-.04em}
.app-shell-body .card{border:1px solid rgba(228,233,241,.95)!important;border-radius:20px!important;box-shadow:0 10px 32px rgba(18,33,59,.055)!important}.app-shell-body .card:hover{border-color:#d6dfea}.app-shell-body .card-header{padding:17px 20px;background:rgba(255,255,255,.96)!important}.app-shell-body .card-body{padding:21px}
.app-shell-body .btn{border-radius:12px;font-weight:750}.app-shell-body .btn-primary{background:#2756d9;border-color:#2756d9}.app-shell-body .btn-success{background:#0b7a67;border-color:#0b7a67}.app-shell-body .btn-outline-primary{color:#2756d9;border-color:#bfcdf2}.app-shell-body .btn-outline-success{color:#0b7a67;border-color:#a9d9ce}
.app-shell-body .form-control,.app-shell-body .form-select{min-height:46px;border-radius:12px;border-color:#d9e0e9;background:#fff}.app-shell-body .form-control:focus,.app-shell-body .form-select:focus{border-color:#7c9bea;box-shadow:0 0 0 .22rem rgba(39,86,217,.1)}
.app-shell-body .table-responsive{border-radius:16px;border:1px solid #e7ebf1}.app-shell-body .table thead th{background:#f7f9fc;color:#637086;font-size:.7rem;letter-spacing:.055em;padding:.92rem .85rem}.app-shell-body .table tbody td{padding:.9rem .85rem}.app-shell-body .table tbody tr{transition:background .15s ease}.app-shell-body .table tbody tr:hover{background:#f9fbfe}.app-shell-body .badge{padding:.46em .68em}
.app-shell-body .mobile-topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom-color:#e5eaf1}.app-shell-body .app-icon-btn,.app-shell-body .mobile-menu-btn{border-radius:13px;border-color:#dde4ec;box-shadow:0 7px 19px rgba(18,33,59,.06)}
.app-shell-body .v2-hero{background:linear-gradient(125deg,#075f52 0%,#0b7a67 52%,#2350b6 120%);border-radius:24px;box-shadow:0 20px 46px rgba(11,122,103,.16)}
.app-shell-body .v2-stat{border-radius:19px;box-shadow:0 8px 26px rgba(18,33,59,.045)}.app-shell-body .v2-panel{border-radius:20px}.app-shell-body .quick-action{border-radius:14px;background:#fbfcfe}.app-shell-body .quick-action:hover{box-shadow:0 9px 24px rgba(18,33,59,.07)}

/* FOOTER */
.public-shell footer{background:linear-gradient(130deg,#0b1e2e 0%,#073a3a 58%,#17345b 100%)!important;border-top:1px solid rgba(255,255,255,.06)}.public-shell footer h5{letter-spacing:-.02em}.public-shell footer .text-white-50:hover{color:#fff!important}

@media(max-width:1199.98px){.fresh-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpg-preview-grid,.tpg-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell-body .main-content{padding:30px 26px 44px}}
@media(max-width:991.98px){.public-shell .navbar{min-height:70px}.public-shell .navbar-collapse{padding:10px 0 7px}.hero-glass{margin-top:28px}.status-board{grid-template-columns:1fr}.tpg-preview-grid{grid-template-columns:1fr 1fr}.app-shell-body .main-content{padding:25px 20px 40px}}
@media(max-width:767.98px){.fresh-hero{padding:4.2rem 0}.fresh-hero h1{font-size:clamp(2.1rem,11vw,3.2rem)}.fresh-hero-actions .btn{flex:1 1 150px}.fresh-service-grid,.tpg-preview-grid,.tpg-directory-grid{grid-template-columns:1fr}.home-fresh .section-pad{padding:3.6rem 0}.hero-stat-grid{gap:8px}.hero-stat{padding:13px}.app-shell-body .main-content{padding:20px 13px 34px}.app-shell-body .card{border-radius:17px!important}.app-shell-body .card-body{padding:16px}.tpg-public-hero{border-radius:21px;padding:25px 19px}}
@media(max-width:430px){.hero-stat strong{font-size:1.35rem}.fresh-service-grid{gap:11px}.fresh-service-card{padding:18px}.tpg-member-card{padding:15px}.tpg-member-photo,.tpg-member-initials{width:62px;height:62px;flex-basis:62px}}
