:root{
  --mf-primary:#22c55e;
  --mf-primary-dark:#16a34a;
  --mf-secondary:#0f172a;
  --mf-blue:#0ea5e9;
  --mf-accent:#f59e0b;
  --mf-bg:#f8fafc;
  --mf-card:#ffffff;
  --mf-text:#0f172a;
  --mf-muted:#64748b;
  --mf-border:#e2e8f0;
  --mf-radius:22px;
  --mf-shadow:0 18px 50px rgba(15,23,42,.10);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--mf-bg);color:var(--mf-text);line-height:1.6} a{text-decoration:none;color:inherit}.mf-container{width:min(1160px,92%);margin-inline:auto}.mf-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.84);backdrop-filter:blur(16px);border-bottom:1px solid var(--mf-border)}.mf-nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.mf-brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px}.mf-logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--mf-primary),var(--mf-blue));color:#fff}.mf-menu{display:flex;gap:20px;color:var(--mf-muted);font-weight:700}.mf-menu a:hover{color:var(--mf-primary-dark)}.mf-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:linear-gradient(135deg,var(--mf-primary),var(--mf-primary-dark));color:#fff;font-weight:800;padding:14px 22px;box-shadow:0 12px 28px rgba(34,197,94,.25);transition:.2s}.mf-btn:hover{transform:translateY(-2px)}.mf-btn-small{padding:10px 18px}.mf-btn-outline{background:#fff;color:var(--mf-secondary);border:1px solid var(--mf-border);box-shadow:none}.mf-hero{position:relative;overflow:hidden;background:radial-gradient(circle at top left,rgba(34,197,94,.22),transparent 34%),linear-gradient(135deg,#f0fdf4,#eff6ff 56%,#fff7ed);padding:88px 0}.mf-hero:after{content:"";position:absolute;inset:auto -10% -35% -10%;height:300px;background:linear-gradient(90deg,rgba(34,197,94,.16),rgba(14,165,233,.16));border-radius:50% 50% 0 0}.mf-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.mf-badge{display:inline-flex;align-items:center;width:max-content;border:1px solid rgba(34,197,94,.25);background:rgba(34,197,94,.10);color:var(--mf-primary-dark);border-radius:999px;padding:8px 14px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.mf-hero h1{font-size:clamp(40px,6vw,76px);line-height:1.02;margin:18px 0;color:var(--mf-secondary);letter-spacing:-.05em}.mf-hero p{font-size:18px;color:var(--mf-muted);max-width:620px}.mf-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.mf-hero-card{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);border-radius:32px;padding:32px;box-shadow:var(--mf-shadow);backdrop-filter:blur(18px);min-height:330px;display:flex;flex-direction:column;justify-content:center}.mf-live-dot{width:16px;height:16px;border-radius:99px;background:var(--mf-primary);box-shadow:0 0 0 10px rgba(34,197,94,.18);margin-bottom:20px}.mf-progress{height:16px;border-radius:999px;background:#e2e8f0;overflow:hidden}.mf-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--mf-primary),var(--mf-blue));border-radius:inherit}.mf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:-42px;position:relative;z-index:2}.mf-stat-card{background:var(--mf-card);border:1px solid var(--mf-border);border-radius:var(--mf-radius);padding:22px;box-shadow:var(--mf-shadow)}.mf-stat-card span{font-size:28px}.mf-stat-card strong{display:block;font-size:34px;line-height:1.1;margin-top:10px}.mf-stat-card p{margin:6px 0 0;color:var(--mf-muted);font-weight:700}.mf-section{padding:72px 0}.mf-section-head{text-align:center;margin-bottom:28px}.mf-section-head h2{font-size:clamp(28px,4vw,46px);line-height:1.1;margin:14px 0 8px;letter-spacing:-.04em}.mf-section-head p{color:var(--mf-muted);margin:0}.mf-plugin-box{background:#fff;border:2px dashed rgba(34,197,94,.45);border-radius:var(--mf-radius);padding:34px;text-align:center;box-shadow:var(--mf-shadow)}.mf-plugin-box h3{margin:0 0 6px;font-size:26px}.mf-plugin-box p{margin:0;color:var(--mf-muted)}.mf-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mf-timeline div{position:relative;background:#fff;border:1px solid var(--mf-border);border-radius:var(--mf-radius);padding:24px;box-shadow:var(--mf-shadow)}.mf-timeline b{font-size:20px}.mf-timeline p{color:var(--mf-muted);margin-bottom:0}.mf-dashboard-preview{display:grid;grid-template-columns:260px 1fr;overflow:hidden;border-radius:30px;background:#fff;box-shadow:var(--mf-shadow);border:1px solid var(--mf-border)}.mf-dashboard-preview aside{background:var(--mf-secondary);color:#fff;padding:26px;display:flex;flex-direction:column;gap:12px}.mf-dashboard-preview aside span{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08)}.mf-dashboard-preview>div{padding:32px}.mf-table-demo{display:grid;grid-template-columns:1.2fr .8fr 1fr;border:1px solid var(--mf-border);border-radius:18px;overflow:hidden;margin-top:24px}.mf-table-demo div{padding:14px;border-bottom:1px solid var(--mf-border)}.mf-table-demo div:nth-child(-n+3){font-weight:900;background:#f1f5f9}.mf-pill{display:inline-flex;border-radius:999px;background:rgba(34,197,94,.12);color:var(--mf-primary-dark);font-weight:900;padding:4px 10px;font-size:12px}.mf-pill.yellow{background:rgba(245,158,11,.14);color:#b45309}.mf-page{padding:54px 0}.mf-content-card{background:#fff;border:1px solid var(--mf-border);border-radius:var(--mf-radius);padding:34px;box-shadow:var(--mf-shadow)}.mf-footer{background:var(--mf-secondary);color:#cbd5e1;padding:52px 0;margin-top:60px}.mf-footer h3,.mf-footer h4{color:#fff;margin-top:0}.mf-footer-grid{display:grid;grid-template-columns:1.4fr .9fr .7fr;gap:34px}.mf-footer ul{list-style:none;padding:0;margin:0}.mf-footer a{color:#cbd5e1}.mf-footer a:hover{color:#fff}

/* Generic plugin styling */
.movefest-theme input,.movefest-theme select,.movefest-theme textarea{width:100%;border:1px solid var(--mf-border);border-radius:14px;padding:13px 15px;font:inherit;background:#fff}.movefest-theme table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--mf-border);border-radius:18px;overflow:hidden}.movefest-theme th{background:linear-gradient(135deg,var(--mf-primary),var(--mf-blue));color:#fff;text-align:left}.movefest-theme th,.movefest-theme td{padding:14px;border-bottom:1px solid var(--mf-border)}.movefest-theme tr:last-child td{border-bottom:0}.movefest-theme button,.movefest-theme input[type=submit]{border:0;border-radius:999px;background:linear-gradient(135deg,var(--mf-primary),var(--mf-primary-dark));color:#fff;font-weight:800;padding:12px 18px;cursor:pointer}

@media(max-width:860px){.mf-nav{height:auto;padding:14px 0;align-items:flex-start}.mf-menu{display:none}.mf-hero{padding:58px 0}.mf-hero-grid,.mf-dashboard-preview,.mf-footer-grid{grid-template-columns:1fr}.mf-stats,.mf-timeline{grid-template-columns:1fr 1fr}.mf-table-demo{grid-template-columns:1fr}.mf-table-demo div:nth-child(-n+3){display:none}}
@media(max-width:520px){.mf-stats,.mf-timeline{grid-template-columns:1fr}.mf-actions{flex-direction:column}.mf-btn{width:100%}.mf-hero-card{min-height:auto}.mf-stat-card strong{font-size:30px}}

/* =========================================================
   Dashboard Jalan Santai - Full Screen Override
   Tujuan: dashboard tampil penuh, sidebar tidak terpotong,
   semua menu jelas terlihat di PC dan tetap rapi di HP.
   ========================================================= */
body.movefest-theme.movefest-dashboard-fullscreen,
body.movefest-theme:has(.js-dashboard){
  background:#f8fafc !important;
  overflow-x:hidden !important;
}

body.movefest-theme.movefest-dashboard-fullscreen .mf-header,
body.movefest-theme.movefest-dashboard-fullscreen .mf-footer,
body.movefest-theme:has(.js-dashboard) .mf-header,
body.movefest-theme:has(.js-dashboard) .mf-footer{
  display:none !important;
}

body.movefest-theme.movefest-dashboard-fullscreen .mf-page,
body.movefest-theme:has(.js-dashboard) .mf-page{
  padding:0 !important;
}

body.movefest-theme.movefest-dashboard-fullscreen .mf-container,
body.movefest-theme:has(.js-dashboard) .mf-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

body.movefest-theme.movefest-dashboard-fullscreen .mf-content-card,
body.movefest-theme:has(.js-dashboard) .mf-content-card{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.movefest-theme .js-dashboard{
  width:100vw !important;
  max-width:none !important;
  min-height:100vh !important;
  margin:0 calc(50% - 50vw) !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  background:linear-gradient(135deg,#f8fafc 0%,#ecfdf5 45%,#eff6ff 100%) !important;
}

.movefest-theme .js-sidebar{
  width:330px !important;
  min-width:330px !important;
  flex:0 0 330px !important;
  min-height:100vh !important;
  height:100vh !important;
  position:sticky !important;
  top:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:24px 22px !important;
  border-radius:0 !important;
  scrollbar-width:thin;
}

.movefest-theme .js-sidebar::-webkit-scrollbar{width:8px;}
.movefest-theme .js-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;}

.movefest-theme .js-brand{
  padding:20px !important;
  margin-bottom:18px !important;
  border-radius:22px !important;
}

.movefest-theme .js-brand h2{
  font-size:22px !important;
  line-height:1.15 !important;
}

.movefest-theme .js-brand p{
  font-size:12px !important;
  line-height:1.45 !important;
}

.movefest-theme .js-profile{
  padding:12px 6px 16px !important;
  margin-bottom:12px !important;
}

.movefest-theme .js-sidebar h4{
  margin:16px 0 8px 10px !important;
  font-size:11px !important;
}

.movefest-theme .js-sidebar a{
  min-height:48px !important;
  padding:12px 14px !important;
  margin-bottom:6px !important;
  border-radius:14px !important;
  font-size:14px !important;
  line-height:1.25 !important;
  white-space:normal !important;
}

.movefest-theme .js-sidebar a span{
  display:block !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.movefest-theme .js-main{
  flex:1 1 auto !important;
  width:calc(100vw - 330px) !important;
  max-width:none !important;
  min-height:100vh !important;
  padding:28px !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
}

.movefest-theme .js-hero{
  border-radius:26px !important;
  padding:30px !important;
  margin-bottom:22px !important;
}

.movefest-theme .js-hero h1{
  font-size:clamp(28px,3vw,42px) !important;
}

.movefest-theme .js-stats{
  grid-template-columns:repeat(5,minmax(180px,1fr)) !important;
  gap:14px !important;
}

.movefest-theme .js-stat{
  padding:20px !important;
  min-height:150px !important;
}

.movefest-theme .js-stat strong{
  font-size:clamp(22px,2vw,30px) !important;
  word-break:break-word !important;
}

.movefest-theme .js-grid{
  grid-template-columns:minmax(520px,1.25fr) minmax(360px,.75fr) !important;
  gap:18px !important;
}

.movefest-theme .js-card{
  border-radius:22px !important;
  padding:24px !important;
}

.movefest-theme .js-action-grid{
  grid-template-columns:repeat(3,minmax(180px,1fr)) !important;
}

.movefest-theme .js-action{
  min-height:64px !important;
  padding:16px !important;
  line-height:1.3 !important;
}

.movefest-theme .js-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
}

.movefest-theme .js-table{
  min-width:980px !important;
}

/* Modul plugin yang dibuka di dalam dashboard */
.movefest-theme .js-main form,
.movefest-theme .js-main .wp-block-shortcode,
.movefest-theme .js-main > div:not(.js-login-warning),
.movefest-theme .js-main section{
  max-width:100% !important;
}

.movefest-theme .js-main table{
  min-width:900px;
}

@media(max-width:1280px){
  .movefest-theme .js-sidebar{
    width:300px !important;
    min-width:300px !important;
    flex-basis:300px !important;
  }
  .movefest-theme .js-main{
    width:calc(100vw - 300px) !important;
    padding:22px !important;
  }
  .movefest-theme .js-stats{
    grid-template-columns:repeat(3,minmax(180px,1fr)) !important;
  }
  .movefest-theme .js-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:900px){
  .movefest-theme .js-dashboard{
    display:block !important;
    min-height:100vh !important;
  }
  .movefest-theme .js-sidebar{
    position:relative !important;
    top:auto !important;
    width:100% !important;
    min-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    border-right:0 !important;
    border-bottom:1px solid #e2e8f0 !important;
  }
  .movefest-theme .js-sidebar nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .movefest-theme .js-sidebar h4{
    grid-column:1 / -1 !important;
    margin-top:14px !important;
  }
  .movefest-theme .js-main{
    width:100% !important;
    min-height:auto !important;
    padding:18px !important;
  }
  .movefest-theme .js-stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .movefest-theme .js-action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:560px){
  .movefest-theme .js-sidebar{
    padding:16px !important;
  }
  .movefest-theme .js-sidebar nav,
  .movefest-theme .js-stats,
  .movefest-theme .js-action-grid{
    grid-template-columns:1fr !important;
  }
  .movefest-theme .js-main{
    padding:14px !important;
  }
  .movefest-theme .js-hero{
    padding:22px !important;
  }
}

/* =========================================================
   MoveFest v1.1.0 - Non Dummy + Panitia Access
   ========================================================= */
.mf-contact-card h3{font-size:28px;margin:0 0 10px;}
.mf-contact-phone{display:inline-flex;margin-top:16px;padding:14px 20px;border-radius:999px;background:#0f172a;color:#fff;font-weight:900;font-size:18px;}
.mf-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.mf-feature-grid>div{background:#fff;border:1px solid var(--mf-border);border-radius:var(--mf-radius);padding:26px;box-shadow:var(--mf-shadow);}
.mf-feature-grid b{display:block;font-size:20px;color:var(--mf-secondary);margin-bottom:8px;}
.mf-feature-grid p{margin:0;color:var(--mf-muted);}
.mf-feature-grid code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:2px 6px;color:#0f172a;}
.mf-login-card,.mf-plugin-warning{width:min(520px,100%);margin:0 auto;background:#fff;border:1px solid var(--mf-border);border-radius:28px;padding:34px;box-shadow:var(--mf-shadow);}
.mf-plugin-warning{width:min(760px,100%);text-align:center;}
.mf-login-card h2{margin:14px 0 8px;font-size:32px;line-height:1.15;color:var(--mf-secondary);}
.mf-login-card p{color:var(--mf-muted);}
.mf-login-card form{margin-top:22px;}
.mf-login-card label{display:block;font-weight:800;color:#334155;margin-bottom:7px;}
.mf-login-card .login-username,.mf-login-card .login-password,.mf-login-card .login-remember{margin-bottom:16px;}
.mf-login-card input[type=text],.mf-login-card input[type=password]{width:100%;border:1px solid var(--mf-border);border-radius:16px;padding:14px 16px;font:inherit;background:#fff;}
.mf-login-card input[type=submit]{width:100%;border:0;border-radius:999px;background:linear-gradient(135deg,var(--mf-primary),var(--mf-primary-dark));color:#fff;font-weight:900;padding:14px 20px;cursor:pointer;}
.mf-login-card .login-remember label{display:flex;gap:8px;align-items:center;font-weight:700;color:#64748b;}
.mf-login-card .login-remember input{width:auto;}
.mf-login-note{margin-top:18px;font-size:14px;}
.mf-login-note a{color:#16a34a;font-weight:900;}

@media(max-width:860px){.mf-feature-grid{grid-template-columns:1fr;}}
