@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#087b65;--green-dark:#064f45;--green-deep:#073b35;--gold:#f3c44e;--ink:#172c29;--muted:#657571;--soft:#f4f8f6}
*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,h4,.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.035em}a{text-decoration:none}.top-strip{background:var(--green-dark);color:#dceee8;font-size:.78rem;padding:8px 0}.navbar{z-index:20}.brand{font-size:1.3rem;letter-spacing:-.06em}.brand-mark{display:inline-grid;place-items:center;background:var(--gold);color:var(--green-dark);width:34px;height:34px;border-radius:11px;margin-right:5px}.nav-link{font-weight:600;color:#4d5f5a!important;padding:1rem .8rem!important}.nav-link.active,.nav-link:hover{color:var(--green)!important}.btn{font-weight:700;border-radius:10px}.btn-success{background:var(--green);border-color:var(--green)}.btn-success:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-gold{background:var(--gold);color:#173c32;border:1px solid var(--gold)}.btn-gold:hover{background:#ffda71;color:#173c32}.hero{background:radial-gradient(circle at 85% 15%,#1b8c74 0,transparent 30%),linear-gradient(125deg,#063f38,#087b65 72%,#0b6959);color:white;padding:82px 0 88px;overflow:hidden}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.17em;color:var(--gold);display:inline-block;margin-bottom:15px}.eyebrow.dark{color:var(--green);}.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.04;max-width:750px}.hero .lead{color:#d3e9e2;max-width:620px;font-size:1.12rem;line-height:1.8;margin-top:22px}.hero-note{color:#d5e9e3;font-size:.88rem}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:7px}.hero-art{height:370px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #b5e4d54d;border-radius:50%;width:340px;height:340px}.orbit-two{width:255px;height:255px;border-style:dashed}.trophy{font-size:8rem;filter:drop-shadow(0 25px 22px #002d284f);z-index:1}.floating-card{position:absolute;background:#fff;color:var(--green-dark);font-weight:800;padding:16px 22px;border-radius:15px;box-shadow:0 15px 45px #002d2845}.card-top{top:60px;right:0}.card-bottom{bottom:47px;left:0}.hero-art img{max-width:100%;max-height:360px;object-fit:contain;border-radius:24px}.stats-band{background:#fff;box-shadow:0 12px 40px #173c3210;position:relative}.stats-band .row{padding:27px 0}.stats-band strong{display:block;font:800 1.8rem Manrope;color:var(--green)}.stats-band span{font-size:.82rem;color:var(--muted)}.section{padding:76px 0}.section-soft{background:var(--soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 8px}.section-heading p{color:var(--muted);margin:0}.text-link{color:var(--green);font-weight:800;white-space:nowrap}.competition-card,.activity-card,.announcement-card{border:1px solid #e2ebe7;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 7px 28px #103b3010;transition:transform .2s,box-shadow .2s}.competition-card:hover,.activity-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #103b3017}.competition-poster{width:100%;height:180px;object-fit:cover}.poster-placeholder{background:linear-gradient(135deg,#087b65,#073b35);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;letter-spacing:.1em}.poster-placeholder strong{font-size:1.3rem}.competition-card h3,.activity-card h3{font-size:1.2rem;line-height:1.35}.competition-card p,.activity-card p,.announcement-card p{color:var(--muted);line-height:1.65}.tag{display:inline-block;border-radius:99px;background:#f4eee0;color:#88631a;padding:5px 10px;font-size:.7rem;font-weight:800}.tag-green{background:#e4f4ed;color:#087b65}.tag-open{background:#e3f7e8;color:#17733a}.card-meta{font-size:.78rem;color:#64736f}.announcement-card{padding:23px;height:100%;box-shadow:none}.announcement-card h3{font-size:1.08rem;margin:12px 0}.activity-card img{width:100%;height:205px;object-fit:cover}.activity-placeholder{height:205px;background:linear-gradient(135deg,#e6f1eb,#c3e2d3);color:var(--green-dark);font:800 1.6rem Manrope;display:flex;align-items:center;justify-content:center;flex-direction:column}.activity-placeholder span{font-size:.7rem;letter-spacing:.2em}.winners-section{background:linear-gradient(125deg,#063f38,#087b65);color:#fff}.winners-section .section-heading p{color:#d1e8e0}.winner-card{height:100%;border:1px solid #ffffff2c;background:#ffffff0d;border-radius:16px;padding:22px}.medal{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold);color:#5d4b12;font-size:1.3rem;margin-bottom:18px}.winner-card span,.winner-card small{font-size:.78rem;color:#c9e4db}.winner-card h3{font-size:1.2rem;margin:9px 0}.winner-card p{margin-bottom:7px}.testimonial{height:100%;margin:0;background:var(--soft);border-radius:18px;padding:27px}.quote-mark{font:800 3.5rem Georgia;color:var(--gold);line-height:.8}.testimonial p{line-height:1.8;color:#425550}.testimonial footer strong,.testimonial footer span{display:block}.testimonial footer span{font-size:.82rem;color:var(--muted);margin-top:3px}.partners{padding:28px 0 55px}.partner-name{font-weight:800;color:#6c7e78}.cta-section{background:#eff7f2;padding:48px 0}.cta-section h2{font-size:2rem;margin:0 0 8px}.cta-section p{color:var(--muted)}.footer{background:#082f2b;color:#b9d0c9}.footer a{color:#d5e8e1}.footer a:hover{color:var(--gold)}.page-hero{background:linear-gradient(120deg,#064b41,#087b65);color:#fff;padding:65px 0}.page-hero h1{font-size:clamp(2rem,4vw,3.5rem)}.page-hero p{color:#d2e8e0;max-width:700px;margin:12px 0 0}.filter-panel,.registration-panel,.info-box,.contact-card,.about-highlight{padding:26px;border:1px solid #e0eae5;border-radius:18px;background:#fff;box-shadow:0 10px 30px #173c320b}.form-label{font-weight:700;font-size:.9rem}.form-control,.form-select{border-radius:10px;padding:.7rem .85rem;border-color:#d7e2dd}.form-control:focus,.form-select:focus{border-color:#65aa95;box-shadow:0 0 0 .2rem #087b651b}.content-copy{line-height:1.9;color:#50615c}.info-box{background:var(--soft)}.registration-panel{position:sticky;top:100px}.empty-state{background:var(--soft);border:1px dashed #c9d9d1;border-radius:16px;padding:34px;text-align:center;color:var(--muted)}.success-card{max-width:650px;padding:48px 28px;border:1px solid #deebe4;border-radius:24px;box-shadow:0 20px 60px #173c3210}.success-icon{display:grid;place-items:center;margin:0 auto 20px;width:66px;height:66px;border-radius:50%;background:#e2f6e9;color:#168344;font-size:2rem;font-weight:800}.registration-code{padding:18px;border-radius:14px;background:var(--soft);margin:25px 0}.registration-code span,.registration-code strong{display:block}.registration-code span{font-size:.8rem;color:var(--muted)}.registration-code strong{font:800 1.5rem Manrope;letter-spacing:.08em;color:var(--green)}.about-highlight{background:linear-gradient(135deg,#064b41,#087b65);color:#fff;padding:34px}.about-highlight h3{font-size:2rem}.about-highlight p{color:#d3e8e1;line-height:1.8}.contact-card{height:100%;text-align:center;padding:34px 22px}.contact-icon{font-size:2rem;color:var(--green)}.contact-card h2{font-size:1.15rem;margin:16px 0 8px}.contact-card p{color:var(--muted);overflow-wrap:anywhere}.admin-body{background:#f4f7f5;min-height:100vh}.admin-table{background:#fff;border-radius:12px;overflow:hidden}.admin-form{background:#fff;padding:24px;border-radius:14px;border:1px solid #e1e9e5}.table td,.table th{vertical-align:middle}@media(max-width:767px){.hero{padding:58px 0}.hero-art{height:260px}.orbit{width:240px;height:240px}.orbit-two{width:180px;height:180px}.trophy{font-size:6rem}.card-top{top:25px;right:0}.card-bottom{bottom:20px;left:0}.section{padding:55px 0}.section-heading{align-items:start;flex-direction:column}.registration-panel{position:static}.page-hero{padding:50px 0}}

/* Bootstrap admin dashboard */
.admin-body{background:#f3f6f9;min-height:100vh;color:#263746}.admin-topbar{background:#073f37;min-height:68px;box-shadow:0 2px 12px #0a332a1c}.admin-topbar .brand-mark{display:inline-grid;place-items:center;background:var(--gold);color:#073f37;width:31px;height:31px;border-radius:9px;margin-right:4px}.admin-brand-label{font:700 .65rem 'DM Sans',sans-serif;letter-spacing:.13em;color:#b5d6cd;border-left:1px solid #ffffff40;margin-left:10px;padding-left:12px}.admin-shell{display:flex;min-height:calc(100vh - 68px)}.admin-sidebar{width:265px;flex:0 0 265px;background:#fff;border-right:1px solid #e3eaf0;min-height:calc(100vh - 68px);position:sticky;top:68px;align-self:flex-start}.sidebar-inner{padding:25px 15px;display:flex;flex-direction:column;min-height:calc(100vh - 68px)}.sidebar-caption{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:#93a19e;padding:0 13px 12px}.admin-sidebar .nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px!important;border-radius:10px;color:#5d6d69!important;font-size:.9rem;font-weight:600;margin-bottom:4px}.admin-sidebar .nav-link i{font-size:1.1rem;width:20px;text-align:center}.admin-sidebar .nav-link:hover{background:#f0f7f4;color:var(--green)!important}.admin-sidebar .nav-link.active{background:#e5f4ed;color:#087b65!important;font-weight:800}.sidebar-bottom{margin-top:auto;padding:25px 5px 0}.sidebar-status{position:relative;padding:14px 14px 14px 28px;border-radius:12px;background:#f5f8f7;font-size:.8rem;font-weight:700}.sidebar-status small{display:block;color:#83918c;font-weight:400;margin-top:3px}.status-dot{position:absolute;left:13px;top:19px;width:7px;height:7px;border-radius:50%;background:#2db879}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-content{padding:30px clamp(16px,3vw,38px);flex:1}.admin-breadcrumb{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:#8a9994;margin-bottom:7px}.admin-page-title{font-size:1.75rem;letter-spacing:-.04em;margin:0;color:#1e342e}.admin-date{font-size:.82rem;color:#74847e;background:#fff;border:1px solid #e0e8e4;padding:9px 13px;border-radius:10px}.admin-footer{padding:17px 35px;border-top:1px solid #e1e8e5;background:#fff;color:#84918c;font-size:.78rem}.admin-main .card{border-radius:15px!important}.admin-main .card-body{padding:22px}.admin-main .display-6{font-size:2.2rem;color:#087b65}.admin-main .admin-form{border-radius:15px;box-shadow:0 5px 22px #173c3208}.admin-main .admin-table{border:1px solid #e4ebe7;border-radius:14px;box-shadow:0 5px 22px #173c3208}.admin-main .table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#708079;background:#f7faf8;border-bottom:1px solid #e4ebe7;padding:14px}.admin-main .table tbody td{padding:14px;font-size:.88rem}.admin-main .table tbody tr:last-child td{border-bottom:0}.admin-main .btn{border-radius:8px}.admin-main .form-control,.admin-main .form-select{font-size:.9rem}.admin-main .alert{border-radius:12px}@media(max-width:991.98px){.admin-sidebar{width:285px;min-height:100vh;position:fixed;top:0;z-index:1055;border:0}.admin-sidebar .sidebar-inner{min-height:100vh}.admin-content{padding:22px 15px}.admin-brand-label{display:none}}

/* Progress kurasi ajang */
.curation-page{min-height:65vh;background:#fff;padding:34px 0 55px}.curation-titlebar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:48px}.curation-titlebar>div h1{font-size:clamp(1.3rem,2.2vw,1.75rem);color:#253e68;margin:0;letter-spacing:-.03em}.curation-menu-icon{width:60px;height:60px;display:grid;place-items:center;border:1px solid #ffe2ad;border-radius:20px;background:#fff9ef;color:#f4a000;font-size:1.65rem}.curation-search{height:58px;width:min(400px,100%);display:flex;align-items:center;gap:13px;border:1px solid #dfe7f2;border-radius:22px;padding:0 22px;color:#8b9eb9;background:#f9fbfd}.curation-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:#2d4265;font-weight:600}.curation-search input::placeholder{color:#8b9eb9}.curation-table-wrap{border:1px solid #e7edf5;border-radius:5px;overflow:hidden}.curation-table thead th{background:#f8fafc;color:#8b9bb4;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;padding:25px 29px;border-bottom:1px solid #e1e8f1;white-space:nowrap}.curation-table tbody td{padding:30px 29px;border-color:#f0f3f8;color:#253e68;font-size:.9rem}.curation-table tbody tr:last-child td{border-bottom:0}.curation-table td:first-child{min-width:380px}.curation-table td strong{font-size:.94rem;color:#233d67;font-weight:800;text-transform:uppercase}.curation-short{color:#8a9bb7;font-weight:700;text-transform:uppercase;font-size:.82rem;margin-left:5px}.curation-notes{font-size:.78rem;color:#7e8fa8;margin-top:7px;max-width:600px}.period-pill{display:inline-block;padding:9px 15px;border:1px solid #dce5f0;border-radius:10px;color:#5d7395;font-weight:800;letter-spacing:.05em;white-space:nowrap;box-shadow:0 2px 4px #1d35570a}.curation-status{display:inline-block;border-radius:17px;padding:12px 20px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;white-space:nowrap}.status-terkurasi{background:#dcfce7;color:#00a65a}.status-persiapan_dokumen{background:#fff2c8;color:#d97706}.status-pengajuan{background:#dbeafe;color:#2563eb}.status-verifikasi{background:#ede9fe;color:#6d28d9}.status-revisi{background:#ffedd5;color:#c2410c}.status-tidak_terkurasi{background:#fee2e2;color:#b91c1c}.star-rating{display:inline-flex;gap:7px;white-space:nowrap}.star-rating i{font-size:1.15rem}.star-on{color:#f59e0b}.star-off{color:#e2e8f0}.no-rating{color:#9aabc4}.curation-footnote{font-size:.78rem;color:#8a9bb0;margin-top:17px}@media(max-width:767px){.curation-page{padding-top:25px}.curation-titlebar{align-items:stretch;flex-direction:column;margin-bottom:26px}.curation-search{width:100%}.curation-table thead th,.curation-table tbody td{padding:20px 17px}.curation-table td:first-child{min-width:300px}.curation-titlebar>div h1{font-size:1.2rem}}

/* Media sizing: keep cards consistent even when uploaded dimensions differ */
.competition-poster{display:block;width:100%;height:220px;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#f4f7f6;}
.article-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#f4f7f6;}
.site-slide-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:1.25rem;}


/* Navigation refinements */
.navbar .navbar-nav { gap: .15rem; }
.navbar .nav-link { font-weight: 600; white-space: nowrap; }
.navbar .dropdown-menu { min-width: 12rem; padding: .45rem; border-radius: .8rem; }
.navbar .dropdown-item { border-radius: .45rem; font-weight: 500; }
.navbar .dropdown-item:hover,
.navbar .dropdown-item.active { background: #e8f5f1; color: #087b65; }
.admin-sidebar .sidebar-caption { margin-top: 1.1rem; }
.admin-sidebar .sidebar-caption:first-child { margin-top: .25rem; }
.admin-sidebar .nav-link { margin-bottom: .2rem; }
@media (min-width: 992px) {
  .navbar .navbar-nav { gap: .1rem; }
}

/* Poster memenuhi seluruh area gambar kartu kompetisi */
.competition-card > .competition-poster { width:100%; height:220px; display:block; object-fit:cover; object-position:center; border-radius:1rem 1rem 0 0; }
.competition-card > .poster-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; }
@media (max-width: 575.98px) {
  .competition-card > .competition-poster { height:220px; }
}


/* Responsive refinements: desktop, tablet, and mobile */
html { scroll-behavior:smooth; }
body { overflow-wrap:anywhere; }
img, video, iframe { max-width:100%; }
.container { width:100%; }
.navbar .container { gap:.5rem; }
.navbar-brand { max-width:58%; overflow:hidden; text-overflow:ellipsis; }
.navbar-brand img { max-width:min(170px, 38vw); }
.navbar .navbar-collapse { min-width:0; }
.navbar .navbar-nav { align-items:stretch; }
.navbar .nav-link { white-space:normal; }
.table-responsive { -webkit-overflow-scrolling:touch; }
.admin-main, .admin-content, .admin-form { min-width:0; }
.admin-content { padding:clamp(1rem,2.5vw,2rem); }
.admin-page-title { font-size:clamp(1.35rem,2.8vw,2rem); overflow-wrap:anywhere; }
.admin-topbar .navbar-brand { max-width:55vw; white-space:normal; font-size:clamp(.95rem,2vw,1.25rem); }
.admin-brand-label { font-size:.65rem; }
.form-control, .form-select { min-width:0; max-width:100%; }
.card, .competition-card, .activity-card { min-width:0; }
@media (max-width: 991.98px) {
  .navbar .navbar-collapse { padding:.6rem 0 1rem; }
  .navbar .navbar-nav { gap:.1rem; }
  .navbar .nav-link { padding:.65rem .8rem!important; }
  .hero { padding:56px 0 60px; }
  .hero-art { height:280px; }
  .orbit { width:260px; height:260px; }
  .orbit-two { width:195px; height:195px; }
  .trophy { font-size:6rem; }
  .section { padding:52px 0; }
  .admin-sidebar { width:min(86vw,300px); }
  .admin-shell { min-width:0; }
}
@media (max-width: 767.98px) {
  .top-strip .container { align-items:flex-start!important; }
  .top-strip .container span { max-width:100%; overflow-wrap:anywhere; }
  .hero h1 { font-size:clamp(2rem,8vw,3rem); }
  .hero .lead { font-size:1rem; line-height:1.65; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .stats-band .row { padding:15px 0; }
  .stats-band strong { font-size:1.4rem; }
  .competition-poster, .competition-card > .competition-poster { height:clamp(170px,52vw,240px); }
  .footer .row { row-gap:1.25rem!important; }
  .admin-topbar .btn { padding:.35rem .5rem; }
  .admin-topbar .admin-brand-label { display:none; }
  .admin-date { display:none; }
  .admin-form { padding:1rem!important; }
  .table-responsive table { min-width:680px; }
}
@media (max-width: 420px) {
  .container { padding-left:14px; padding-right:14px; }
  .brand { font-size:1.05rem; }
  .brand-mark { width:30px; height:30px; border-radius:9px; }
  .btn { max-width:100%; }
  .hero { padding:42px 0 48px; }
  .hero-art { height:230px; }
  .orbit { width:215px; height:215px; }
  .orbit-two { width:160px; height:160px; }
  .trophy { font-size:5rem; }
}
/* ALZHAREC Admin Dashboard — Bootstrap-inspired tiles and responsive cards */
.admin-welcome{padding:1.4rem 1.5rem;border:1px solid #e5ece8;border-radius:18px;background:linear-gradient(115deg,#fff 0%,#f2faf6 100%);box-shadow:0 8px 26px #173c3208}
.admin-welcome-kicker,.admin-section-kicker{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--green);margin-bottom:.5rem}
.admin-stat-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e5ece8;border-radius:16px;padding:1.15rem;box-shadow:0 5px 18px #173c3208;transition:transform .18s,box-shadow .18s}
.admin-stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #173c3215}
.admin-stat-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;font-size:1.25rem;margin-bottom:1rem}
.admin-stat-label{font-size:.8rem;color:#71817b;font-weight:600}
.admin-stat-number{font-size:2rem;font-weight:800;line-height:1.2;color:#203b33;margin:.2rem 0 .5rem;font-family:Manrope,sans-serif}
.admin-stat-foot{font-size:.72rem;color:#87968f}
.tone-primary{background:#e1f3fb;color:#1689b4}.tone-success{background:#dcf7e9;color:#14965c}.tone-warning{background:#fff2d5;color:#bb7a00}.tone-info{background:#e4eaff;color:#3159bd}.tone-danger{background:#ffe4df;color:#d64c35}.tone-purple{background:#eee6ff;color:#7652c8}.tone-orange{background:#ffeadb;color:#d96521}.tone-teal{background:#d8f5f0;color:#168c7c}.tone-secondary{background:#e9edf0;color:#596873}
.admin-module-card{background:#fff;border:1px solid #e3eae6;border-radius:17px;padding:1.15rem;box-shadow:0 5px 20px #173c3208}
.admin-module-head{display:flex;align-items:center;gap:.85rem;padding-bottom:1rem;border-bottom:1px solid #edf1ee}
.admin-module-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;font-size:1.3rem}
.admin-module-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding-top:1rem}
.admin-module-link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;padding:.8rem .85rem;border:1px solid #e8eeeb;border-radius:10px;color:#40534b;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}
.admin-module-link span{min-width:0;overflow-wrap:anywhere}.admin-module-link>i{color:#91a19a;font-size:.8rem;flex-shrink:0}
.admin-module-link:hover{background:#eef8f3;border-color:#cce8da;color:var(--green)}
.admin-dashboard-note{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.15rem;background:#fff9e9;border:1px solid #f4e7bd;border-radius:13px;color:#80621d;font-size:.84rem}
.admin-dashboard-note>i{font-size:1.15rem;margin-top:.05rem}.admin-dashboard-note span{display:block;color:#877957;margin-top:.2rem;line-height:1.6}
@media(max-width:767.98px){.admin-welcome{padding:1.1rem;align-items:flex-start!important}.admin-welcome .btn{width:100%}.admin-module-links{grid-template-columns:1fr}.admin-stat-card{padding:.9rem}.admin-stat-icon{width:38px;height:38px;margin-bottom:.75rem}.admin-stat-number{font-size:1.65rem}.admin-stat-label{min-height:2.2em}}
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#087b65;--green-dark:#064f45;--green-deep:#073b35;--gold:#f3c44e;--ink:#172c29;--muted:#657571;--soft:#f4f8f6}
*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,h4,.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.035em}a{text-decoration:none}.top-strip{background:var(--green-dark);color:#dceee8;font-size:.78rem;padding:8px 0}.navbar{z-index:20}.brand{font-size:1.3rem;letter-spacing:-.06em}.brand-mark{display:inline-grid;place-items:center;background:var(--gold);color:var(--green-dark);width:34px;height:34px;border-radius:11px;margin-right:5px}.nav-link{font-weight:600;color:#4d5f5a!important;padding:1rem .8rem!important}.nav-link.active,.nav-link:hover{color:var(--green)!important}.btn{font-weight:700;border-radius:10px}.btn-success{background:var(--green);border-color:var(--green)}.btn-success:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-gold{background:var(--gold);color:#173c32;border:1px solid var(--gold)}.btn-gold:hover{background:#ffda71;color:#173c32}.hero{background:radial-gradient(circle at 85% 15%,#1b8c74 0,transparent 30%),linear-gradient(125deg,#063f38,#087b65 72%,#0b6959);color:white;padding:82px 0 88px;overflow:hidden}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.17em;color:var(--gold);display:inline-block;margin-bottom:15px}.eyebrow.dark{color:var(--green);}.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.04;max-width:750px}.hero .lead{color:#d3e9e2;max-width:620px;font-size:1.12rem;line-height:1.8;margin-top:22px}.hero-note{color:#d5e9e3;font-size:.88rem}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:7px}.hero-art{height:370px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #b5e4d54d;border-radius:50%;width:340px;height:340px}.orbit-two{width:255px;height:255px;border-style:dashed}.trophy{font-size:8rem;filter:drop-shadow(0 25px 22px #002d284f);z-index:1}.floating-card{position:absolute;background:#fff;color:var(--green-dark);font-weight:800;padding:16px 22px;border-radius:15px;box-shadow:0 15px 45px #002d2845}.card-top{top:60px;right:0}.card-bottom{bottom:47px;left:0}.hero-art img{max-width:100%;max-height:360px;object-fit:contain;border-radius:24px}.stats-band{background:#fff;box-shadow:0 12px 40px #173c3210;position:relative}.stats-band .row{padding:27px 0}.stats-band strong{display:block;font:800 1.8rem Manrope;color:var(--green)}.stats-band span{font-size:.82rem;color:var(--muted)}.section{padding:76px 0}.section-soft{background:var(--soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 8px}.section-heading p{color:var(--muted);margin:0}.text-link{color:var(--green);font-weight:800;white-space:nowrap}.competition-card,.activity-card,.announcement-card{border:1px solid #e2ebe7;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 7px 28px #103b3010;transition:transform .2s,box-shadow .2s}.competition-card:hover,.activity-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #103b3017}.competition-poster{width:100%;height:180px;object-fit:cover}.poster-placeholder{background:linear-gradient(135deg,#087b65,#073b35);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;letter-spacing:.1em}.poster-placeholder strong{font-size:1.3rem}.competition-card h3,.activity-card h3{font-size:1.2rem;line-height:1.35}.competition-card p,.activity-card p,.announcement-card p{color:var(--muted);line-height:1.65}.tag{display:inline-block;border-radius:99px;background:#f4eee0;color:#88631a;padding:5px 10px;font-size:.7rem;font-weight:800}.tag-green{background:#e4f4ed;color:#087b65}.tag-open{background:#e3f7e8;color:#17733a}.card-meta{font-size:.78rem;color:#64736f}.announcement-card{padding:23px;height:100%;box-shadow:none}.announcement-card h3{font-size:1.08rem;margin:12px 0}.activity-card img{width:100%;height:205px;object-fit:cover}.activity-placeholder{height:205px;background:linear-gradient(135deg,#e6f1eb,#c3e2d3);color:var(--green-dark);font:800 1.6rem Manrope;display:flex;align-items:center;justify-content:center;flex-direction:column}.activity-placeholder span{font-size:.7rem;letter-spacing:.2em}.winners-section{background:linear-gradient(125deg,#063f38,#087b65);color:#fff}.winners-section .section-heading p{color:#d1e8e0}.winner-card{height:100%;border:1px solid #ffffff2c;background:#ffffff0d;border-radius:16px;padding:22px}.medal{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold);color:#5d4b12;font-size:1.3rem;margin-bottom:18px}.winner-card span,.winner-card small{font-size:.78rem;color:#c9e4db}.winner-card h3{font-size:1.2rem;margin:9px 0}.winner-card p{margin-bottom:7px}.testimonial{height:100%;margin:0;background:var(--soft);border-radius:18px;padding:27px}.quote-mark{font:800 3.5rem Georgia;color:var(--gold);line-height:.8}.testimonial p{line-height:1.8;color:#425550}.testimonial footer strong,.testimonial footer span{display:block}.testimonial footer span{font-size:.82rem;color:var(--muted);margin-top:3px}.partners{padding:28px 0 55px}.partner-name{font-weight:800;color:#6c7e78}.cta-section{background:#eff7f2;padding:48px 0}.cta-section h2{font-size:2rem;margin:0 0 8px}.cta-section p{color:var(--muted)}.footer{background:#082f2b;color:#b9d0c9}.footer a{color:#d5e8e1}.footer a:hover{color:var(--gold)}.page-hero{background:linear-gradient(120deg,#064b41,#087b65);color:#fff;padding:65px 0}.page-hero h1{font-size:clamp(2rem,4vw,3.5rem)}.page-hero p{color:#d2e8e0;max-width:700px;margin:12px 0 0}.filter-panel,.registration-panel,.info-box,.contact-card,.about-highlight{padding:26px;border:1px solid #e0eae5;border-radius:18px;background:#fff;box-shadow:0 10px 30px #173c320b}.form-label{font-weight:700;font-size:.9rem}.form-control,.form-select{border-radius:10px;padding:.7rem .85rem;border-color:#d7e2dd}.form-control:focus,.form-select:focus{border-color:#65aa95;box-shadow:0 0 0 .2rem #087b651b}.content-copy{line-height:1.9;color:#50615c}.info-box{background:var(--soft)}.registration-panel{position:sticky;top:100px}.empty-state{background:var(--soft);border:1px dashed #c9d9d1;border-radius:16px;padding:34px;text-align:center;color:var(--muted)}.success-card{max-width:650px;padding:48px 28px;border:1px solid #deebe4;border-radius:24px;box-shadow:0 20px 60px #173c3210}.success-icon{display:grid;place-items:center;margin:0 auto 20px;width:66px;height:66px;border-radius:50%;background:#e2f6e9;color:#168344;font-size:2rem;font-weight:800}.registration-code{padding:18px;border-radius:14px;background:var(--soft);margin:25px 0}.registration-code span,.registration-code strong{display:block}.registration-code span{font-size:.8rem;color:var(--muted)}.registration-code strong{font:800 1.5rem Manrope;letter-spacing:.08em;color:var(--green)}.about-highlight{background:linear-gradient(135deg,#064b41,#087b65);color:#fff;padding:34px}.about-highlight h3{font-size:2rem}.about-highlight p{color:#d3e8e1;line-height:1.8}.contact-card{height:100%;text-align:center;padding:34px 22px}.contact-icon{font-size:2rem;color:var(--green)}.contact-card h2{font-size:1.15rem;margin:16px 0 8px}.contact-card p{color:var(--muted);overflow-wrap:anywhere}.admin-body{background:#f4f7f5;min-height:100vh}.admin-table{background:#fff;border-radius:12px;overflow:hidden}.admin-form{background:#fff;padding:24px;border-radius:14px;border:1px solid #e1e9e5}.table td,.table th{vertical-align:middle}@media(max-width:767px){.hero{padding:58px 0}.hero-art{height:260px}.orbit{width:240px;height:240px}.orbit-two{width:180px;height:180px}.trophy{font-size:6rem}.card-top{top:25px;right:0}.card-bottom{bottom:20px;left:0}.section{padding:55px 0}.section-heading{align-items:start;flex-direction:column}.registration-panel{position:static}.page-hero{padding:50px 0}}

/* Bootstrap admin dashboard */
.admin-body{background:#f3f6f9;min-height:100vh;color:#263746}.admin-topbar{background:#073f37;min-height:68px;box-shadow:0 2px 12px #0a332a1c}.admin-topbar .brand-mark{display:inline-grid;place-items:center;background:var(--gold);color:#073f37;width:31px;height:31px;border-radius:9px;margin-right:4px}.admin-brand-label{font:700 .65rem 'DM Sans',sans-serif;letter-spacing:.13em;color:#b5d6cd;border-left:1px solid #ffffff40;margin-left:10px;padding-left:12px}.admin-shell{display:flex;min-height:calc(100vh - 68px)}.admin-sidebar{width:265px;flex:0 0 265px;background:#fff;border-right:1px solid #e3eaf0;min-height:calc(100vh - 68px);position:sticky;top:68px;align-self:flex-start}.sidebar-inner{padding:25px 15px;display:flex;flex-direction:column;min-height:calc(100vh - 68px)}.sidebar-caption{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:#93a19e;padding:0 13px 12px}.admin-sidebar .nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px!important;border-radius:10px;color:#5d6d69!important;font-size:.9rem;font-weight:600;margin-bottom:4px}.admin-sidebar .nav-link i{font-size:1.1rem;width:20px;text-align:center}.admin-sidebar .nav-link:hover{background:#f0f7f4;color:var(--green)!important}.admin-sidebar .nav-link.active{background:#e5f4ed;color:#087b65!important;font-weight:800}.sidebar-bottom{margin-top:auto;padding:25px 5px 0}.sidebar-status{position:relative;padding:14px 14px 14px 28px;border-radius:12px;background:#f5f8f7;font-size:.8rem;font-weight:700}.sidebar-status small{display:block;color:#83918c;font-weight:400;margin-top:3px}.status-dot{position:absolute;left:13px;top:19px;width:7px;height:7px;border-radius:50%;background:#2db879}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-content{padding:30px clamp(16px,3vw,38px);flex:1}.admin-breadcrumb{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:#8a9994;margin-bottom:7px}.admin-page-title{font-size:1.75rem;letter-spacing:-.04em;margin:0;color:#1e342e}.admin-date{font-size:.82rem;color:#74847e;background:#fff;border:1px solid #e0e8e4;padding:9px 13px;border-radius:10px}.admin-footer{padding:17px 35px;border-top:1px solid #e1e8e5;background:#fff;color:#84918c;font-size:.78rem}.admin-main .card{border-radius:15px!important}.admin-main .card-body{padding:22px}.admin-main .display-6{font-size:2.2rem;color:#087b65}.admin-main .admin-form{border-radius:15px;box-shadow:0 5px 22px #173c3208}.admin-main .admin-table{border:1px solid #e4ebe7;border-radius:14px;box-shadow:0 5px 22px #173c3208}.admin-main .table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#708079;background:#f7faf8;border-bottom:1px solid #e4ebe7;padding:14px}.admin-main .table tbody td{padding:14px;font-size:.88rem}.admin-main .table tbody tr:last-child td{border-bottom:0}.admin-main .btn{border-radius:8px}.admin-main .form-control,.admin-main .form-select{font-size:.9rem}.admin-main .alert{border-radius:12px}@media(max-width:991.98px){.admin-sidebar{width:285px;min-height:100vh;position:fixed;top:0;z-index:1055;border:0}.admin-sidebar .sidebar-inner{min-height:100vh}.admin-content{padding:22px 15px}.admin-brand-label{display:none}}

/* Progress kurasi ajang */
.curation-page{min-height:65vh;background:#fff;padding:34px 0 55px}.curation-titlebar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:48px}.curation-titlebar>div h1{font-size:clamp(1.3rem,2.2vw,1.75rem);color:#253e68;margin:0;letter-spacing:-.03em}.curation-menu-icon{width:60px;height:60px;display:grid;place-items:center;border:1px solid #ffe2ad;border-radius:20px;background:#fff9ef;color:#f4a000;font-size:1.65rem}.curation-search{height:58px;width:min(400px,100%);display:flex;align-items:center;gap:13px;border:1px solid #dfe7f2;border-radius:22px;padding:0 22px;color:#8b9eb9;background:#f9fbfd}.curation-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:#2d4265;font-weight:600}.curation-search input::placeholder{color:#8b9eb9}.curation-table-wrap{border:1px solid #e7edf5;border-radius:5px;overflow:hidden}.curation-table thead th{background:#f8fafc;color:#8b9bb4;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;padding:25px 29px;border-bottom:1px solid #e1e8f1;white-space:nowrap}.curation-table tbody td{padding:30px 29px;border-color:#f0f3f8;color:#253e68;font-size:.9rem}.curation-table tbody tr:last-child td{border-bottom:0}.curation-table td:first-child{min-width:380px}.curation-table td strong{font-size:.94rem;color:#233d67;font-weight:800;text-transform:uppercase}.curation-short{color:#8a9bb7;font-weight:700;text-transform:uppercase;font-size:.82rem;margin-left:5px}.curation-notes{font-size:.78rem;color:#7e8fa8;margin-top:7px;max-width:600px}.period-pill{display:inline-block;padding:9px 15px;border:1px solid #dce5f0;border-radius:10px;color:#5d7395;font-weight:800;letter-spacing:.05em;white-space:nowrap;box-shadow:0 2px 4px #1d35570a}.curation-status{display:inline-block;border-radius:17px;padding:12px 20px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;white-space:nowrap}.status-terkurasi{background:#dcfce7;color:#00a65a}.status-persiapan_dokumen{background:#fff2c8;color:#d97706}.status-pengajuan{background:#dbeafe;color:#2563eb}.status-verifikasi{background:#ede9fe;color:#6d28d9}.status-revisi{background:#ffedd5;color:#c2410c}.status-tidak_terkurasi{background:#fee2e2;color:#b91c1c}.star-rating{display:inline-flex;gap:7px;white-space:nowrap}.star-rating i{font-size:1.15rem}.star-on{color:#f59e0b}.star-off{color:#e2e8f0}.no-rating{color:#9aabc4}.curation-footnote{font-size:.78rem;color:#8a9bb0;margin-top:17px}@media(max-width:767px){.curation-page{padding-top:25px}.curation-titlebar{align-items:stretch;flex-direction:column;margin-bottom:26px}.curation-search{width:100%}.curation-table thead th,.curation-table tbody td{padding:20px 17px}.curation-table td:first-child{min-width:300px}.curation-titlebar>div h1{font-size:1.2rem}}

/* Media sizing: keep cards consistent even when uploaded dimensions differ */
.competition-poster{display:block;width:100%;height:220px;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#f4f7f6;}
.article-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#f4f7f6;}
.site-slide-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:1.25rem;}


/* Navigation refinements */
.navbar .navbar-nav { gap: .15rem; }
.navbar .nav-link { font-weight: 600; white-space: nowrap; }
.navbar .dropdown-menu { min-width: 12rem; padding: .45rem; border-radius: .8rem; }
.navbar .dropdown-item { border-radius: .45rem; font-weight: 500; }
.navbar .dropdown-item:hover,
.navbar .dropdown-item.active { background: #e8f5f1; color: #087b65; }
.admin-sidebar .sidebar-caption { margin-top: 1.1rem; }
.admin-sidebar .sidebar-caption:first-child { margin-top: .25rem; }
.admin-sidebar .nav-link { margin-bottom: .2rem; }
@media (min-width: 992px) {
  .navbar .navbar-nav { gap: .1rem; }
}

/* Poster memenuhi seluruh area gambar kartu kompetisi */
.competition-card > .competition-poster { width:100%; height:220px; display:block; object-fit:cover; object-position:center; border-radius:1rem 1rem 0 0; }
.competition-card > .poster-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; }
@media (max-width: 575.98px) {
  .competition-card > .competition-poster { height:220px; }
}


/* Responsive refinements: desktop, tablet, and mobile */
html { scroll-behavior:smooth; }
body { overflow-wrap:anywhere; }
img, video, iframe { max-width:100%; }
.container { width:100%; }
.navbar .container { gap:.5rem; }
.navbar-brand { max-width:58%; overflow:hidden; text-overflow:ellipsis; }
.navbar-brand img { max-width:min(170px, 38vw); }
.navbar .navbar-collapse { min-width:0; }
.navbar .navbar-nav { align-items:stretch; }
.navbar .nav-link { white-space:normal; }
.table-responsive { -webkit-overflow-scrolling:touch; }
.admin-main, .admin-content, .admin-form { min-width:0; }
.admin-content { padding:clamp(1rem,2.5vw,2rem); }
.admin-page-title { font-size:clamp(1.35rem,2.8vw,2rem); overflow-wrap:anywhere; }
.admin-topbar .navbar-brand { max-width:55vw; white-space:normal; font-size:clamp(.95rem,2vw,1.25rem); }
.admin-brand-label { font-size:.65rem; }
.form-control, .form-select { min-width:0; max-width:100%; }
.card, .competition-card, .activity-card { min-width:0; }
@media (max-width: 991.98px) {
  .navbar .navbar-collapse { padding:.6rem 0 1rem; }
  .navbar .navbar-nav { gap:.1rem; }
  .navbar .nav-link { padding:.65rem .8rem!important; }
  .hero { padding:56px 0 60px; }
  .hero-art { height:280px; }
  .orbit { width:260px; height:260px; }
  .orbit-two { width:195px; height:195px; }
  .trophy { font-size:6rem; }
  .section { padding:52px 0; }
  .admin-sidebar { width:min(86vw,300px); }
  .admin-shell { min-width:0; }
}
@media (max-width: 767.98px) {
  .top-strip .container { align-items:flex-start!important; }
  .top-strip .container span { max-width:100%; overflow-wrap:anywhere; }
  .hero h1 { font-size:clamp(2rem,8vw,3rem); }
  .hero .lead { font-size:1rem; line-height:1.65; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .stats-band .row { padding:15px 0; }
  .stats-band strong { font-size:1.4rem; }
  .competition-poster, .competition-card > .competition-poster { height:clamp(170px,52vw,240px); }
  .footer .row { row-gap:1.25rem!important; }
  .admin-topbar .btn { padding:.35rem .5rem; }
  .admin-topbar .admin-brand-label { display:none; }
  .admin-date { display:none; }
  .admin-form { padding:1rem!important; }
  .table-responsive table { min-width:680px; }
}
@media (max-width: 420px) {
  .container { padding-left:14px; padding-right:14px; }
  .brand { font-size:1.05rem; }
  .brand-mark { width:30px; height:30px; border-radius:9px; }
  .btn { max-width:100%; }
  .hero { padding:42px 0 48px; }
  .hero-art { height:230px; }
  .orbit { width:215px; height:215px; }
  .orbit-two { width:160px; height:160px; }
  .trophy { font-size:5rem; }
}
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#087b65;--green-dark:#064f45;--green-deep:#073b35;--gold:#f3c44e;--ink:#172c29;--muted:#657571;--soft:#f4f8f6}
*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,h4,.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.035em}a{text-decoration:none}.top-strip{background:var(--green-dark);color:#dceee8;font-size:.78rem;padding:8px 0}.navbar{z-index:20}.brand{font-size:1.3rem;letter-spacing:-.06em}.brand-mark{display:inline-grid;place-items:center;background:var(--gold);color:var(--green-dark);width:34px;height:34px;border-radius:11px;margin-right:5px}.nav-link{font-weight:600;color:#4d5f5a!important;padding:1rem .8rem!important}.nav-link.active,.nav-link:hover{color:var(--green)!important}.btn{font-weight:700;border-radius:10px}.btn-success{background:var(--green);border-color:var(--green)}.btn-success:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-gold{background:var(--gold);color:#173c32;border:1px solid var(--gold)}.btn-gold:hover{background:#ffda71;color:#173c32}.hero{background:radial-gradient(circle at 85% 15%,#1b8c74 0,transparent 30%),linear-gradient(125deg,#063f38,#087b65 72%,#0b6959);color:white;padding:82px 0 88px;overflow:hidden}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.17em;color:var(--gold);display:inline-block;margin-bottom:15px}.eyebrow.dark{color:var(--green);}.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.04;max-width:750px}.hero .lead{color:#d3e9e2;max-width:620px;font-size:1.12rem;line-height:1.8;margin-top:22px}.hero-note{color:#d5e9e3;font-size:.88rem}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:7px}.hero-art{height:370px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #b5e4d54d;border-radius:50%;width:340px;height:340px}.orbit-two{width:255px;height:255px;border-style:dashed}.trophy{font-size:8rem;filter:drop-shadow(0 25px 22px #002d284f);z-index:1}.floating-card{position:absolute;background:#fff;color:var(--green-dark);font-weight:800;padding:16px 22px;border-radius:15px;box-shadow:0 15px 45px #002d2845}.card-top{top:60px;right:0}.card-bottom{bottom:47px;left:0}.hero-art img{max-width:100%;max-height:360px;object-fit:contain;border-radius:24px}.stats-band{background:#fff;box-shadow:0 12px 40px #173c3210;position:relative}.stats-band .row{padding:27px 0}.stats-band strong{display:block;font:800 1.8rem Manrope;color:var(--green)}.stats-band span{font-size:.82rem;color:var(--muted)}.section{padding:76px 0}.section-soft{background:var(--soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 8px}.section-heading p{color:var(--muted);margin:0}.text-link{color:var(--green);font-weight:800;white-space:nowrap}.competition-card,.activity-card,.announcement-card{border:1px solid #e2ebe7;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 7px 28px #103b3010;transition:transform .2s,box-shadow .2s}.competition-card:hover,.activity-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #103b3017}.competition-poster{width:100%;height:180px;object-fit:cover}.poster-placeholder{background:linear-gradient(135deg,#087b65,#073b35);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;letter-spacing:.1em}.poster-placeholder strong{font-size:1.3rem}.competition-card h3,.activity-card h3{font-size:1.2rem;line-height:1.35}.competition-card p,.activity-card p,.announcement-card p{color:var(--muted);line-height:1.65}.tag{display:inline-block;border-radius:99px;background:#f4eee0;color:#88631a;padding:5px 10px;font-size:.7rem;font-weight:800}.tag-green{background:#e4f4ed;color:#087b65}.tag-open{background:#e3f7e8;color:#17733a}.card-meta{font-size:.78rem;color:#64736f}.announcement-card{padding:23px;height:100%;box-shadow:none}.announcement-card h3{font-size:1.08rem;margin:12px 0}.activity-card img{width:100%;height:205px;object-fit:cover}.activity-placeholder{height:205px;background:linear-gradient(135deg,#e6f1eb,#c3e2d3);color:var(--green-dark);font:800 1.6rem Manrope;display:flex;align-items:center;justify-content:center;flex-direction:column}.activity-placeholder span{font-size:.7rem;letter-spacing:.2em}.winners-section{background:linear-gradient(125deg,#063f38,#087b65);color:#fff}.winners-section .section-heading p{color:#d1e8e0}.winner-card{height:100%;border:1px solid #ffffff2c;background:#ffffff0d;border-radius:16px;padding:22px}.medal{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold);color:#5d4b12;font-size:1.3rem;margin-bottom:18px}.winner-card span,.winner-card small{font-size:.78rem;color:#c9e4db}.winner-card h3{font-size:1.2rem;margin:9px 0}.winner-card p{margin-bottom:7px}.testimonial{height:100%;margin:0;background:var(--soft);border-radius:18px;padding:27px}.quote-mark{font:800 3.5rem Georgia;color:var(--gold);line-height:.8}.testimonial p{line-height:1.8;color:#425550}.testimonial footer strong,.testimonial footer span{display:block}.testimonial footer span{font-size:.82rem;color:var(--muted);margin-top:3px}.partners{padding:28px 0 55px}.partner-name{font-weight:800;color:#6c7e78}.cta-section{background:#eff7f2;padding:48px 0}.cta-section h2{font-size:2rem;margin:0 0 8px}.cta-section p{color:var(--muted)}.footer{background:#082f2b;color:#b9d0c9}.footer a{color:#d5e8e1}.footer a:hover{color:var(--gold)}.page-hero{background:linear-gradient(120deg,#064b41,#087b65);color:#fff;padding:65px 0}.page-hero h1{font-size:clamp(2rem,4vw,3.5rem)}.page-hero p{color:#d2e8e0;max-width:700px;margin:12px 0 0}.filter-panel,.registration-panel,.info-box,.contact-card,.about-highlight{padding:26px;border:1px solid #e0eae5;border-radius:18px;background:#fff;box-shadow:0 10px 30px #173c320b}.form-label{font-weight:700;font-size:.9rem}.form-control,.form-select{border-radius:10px;padding:.7rem .85rem;border-color:#d7e2dd}.form-control:focus,.form-select:focus{border-color:#65aa95;box-shadow:0 0 0 .2rem #087b651b}.content-copy{line-height:1.9;color:#50615c}.info-box{background:var(--soft)}.registration-panel{position:sticky;top:100px}.empty-state{background:var(--soft);border:1px dashed #c9d9d1;border-radius:16px;padding:34px;text-align:center;color:var(--muted)}.success-card{max-width:650px;padding:48px 28px;border:1px solid #deebe4;border-radius:24px;box-shadow:0 20px 60px #173c3210}.success-icon{display:grid;place-items:center;margin:0 auto 20px;width:66px;height:66px;border-radius:50%;background:#e2f6e9;color:#168344;font-size:2rem;font-weight:800}.registration-code{padding:18px;border-radius:14px;background:var(--soft);margin:25px 0}.registration-code span,.registration-code strong{display:block}.registration-code span{font-size:.8rem;color:var(--muted)}.registration-code strong{font:800 1.5rem Manrope;letter-spacing:.08em;color:var(--green)}.about-highlight{background:linear-gradient(135deg,#064b41,#087b65);color:#fff;padding:34px}.about-highlight h3{font-size:2rem}.about-highlight p{color:#d3e8e1;line-height:1.8}.contact-card{height:100%;text-align:center;padding:34px 22px}.contact-icon{font-size:2rem;color:var(--green)}.contact-card h2{font-size:1.15rem;margin:16px 0 8px}.contact-card p{color:var(--muted);overflow-wrap:anywhere}.admin-body{background:#f4f7f5;min-height:100vh}.admin-table{background:#fff;border-radius:12px;overflow:hidden}.admin-form{background:#fff;padding:24px;border-radius:14px;border:1px solid #e1e9e5}.table td,.table th{vertical-align:middle}@media(max-width:767px){.hero{padding:58px 0}.hero-art{height:260px}.orbit{width:240px;height:240px}.orbit-two{width:180px;height:180px}.trophy{font-size:6rem}.card-top{top:25px;right:0}.card-bottom{bottom:20px;left:0}.section{padding:55px 0}.section-heading{align-items:start;flex-direction:column}.registration-panel{position:static}.page-hero{padding:50px 0}}

/* Bootstrap admin dashboard */
.admin-body{background:#f3f6f9;min-height:100vh;color:#263746}.admin-topbar{background:#073f37;min-height:68px;box-shadow:0 2px 12px #0a332a1c}.admin-topbar .brand-mark{display:inline-grid;place-items:center;background:var(--gold);color:#073f37;width:31px;height:31px;border-radius:9px;margin-right:4px}.admin-brand-label{font:700 .65rem 'DM Sans',sans-serif;letter-spacing:.13em;color:#b5d6cd;border-left:1px solid #ffffff40;margin-left:10px;padding-left:12px}.admin-shell{display:flex;min-height:calc(100vh - 68px)}.admin-sidebar{width:265px;flex:0 0 265px;background:#fff;border-right:1px solid #e3eaf0;min-height:calc(100vh - 68px);position:sticky;top:68px;align-self:flex-start}.sidebar-inner{padding:25px 15px;display:flex;flex-direction:column;min-height:calc(100vh - 68px)}.sidebar-caption{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:#93a19e;padding:0 13px 12px}.admin-sidebar .nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px!important;border-radius:10px;color:#5d6d69!important;font-size:.9rem;font-weight:600;margin-bottom:4px}.admin-sidebar .nav-link i{font-size:1.1rem;width:20px;text-align:center}.admin-sidebar .nav-link:hover{background:#f0f7f4;color:var(--green)!important}.admin-sidebar .nav-link.active{background:#e5f4ed;color:#087b65!important;font-weight:800}.sidebar-bottom{margin-top:auto;padding:25px 5px 0}.sidebar-status{position:relative;padding:14px 14px 14px 28px;border-radius:12px;background:#f5f8f7;font-size:.8rem;font-weight:700}.sidebar-status small{display:block;color:#83918c;font-weight:400;margin-top:3px}.status-dot{position:absolute;left:13px;top:19px;width:7px;height:7px;border-radius:50%;background:#2db879}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-content{padding:30px clamp(16px,3vw,38px);flex:1}.admin-breadcrumb{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:#8a9994;margin-bottom:7px}.admin-page-title{font-size:1.75rem;letter-spacing:-.04em;margin:0;color:#1e342e}.admin-date{font-size:.82rem;color:#74847e;background:#fff;border:1px solid #e0e8e4;padding:9px 13px;border-radius:10px}.admin-footer{padding:17px 35px;border-top:1px solid #e1e8e5;background:#fff;color:#84918c;font-size:.78rem}.admin-main .card{border-radius:15px!important}.admin-main .card-body{padding:22px}.admin-main .display-6{font-size:2.2rem;color:#087b65}.admin-main .admin-form{border-radius:15px;box-shadow:0 5px 22px #173c3208}.admin-main .admin-table{border:1px solid #e4ebe7;border-radius:14px;box-shadow:0 5px 22px #173c3208}.admin-main .table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#708079;background:#f7faf8;border-bottom:1px solid #e4ebe7;padding:14px}.admin-main .table tbody td{padding:14px;font-size:.88rem}.admin-main .table tbody tr:last-child td{border-bottom:0}.admin-main .btn{border-radius:8px}.admin-main .form-control,.admin-main .form-select{font-size:.9rem}.admin-main .alert{border-radius:12px}@media(max-width:991.98px){.admin-sidebar{width:285px;min-height:100vh;position:fixed;top:0;z-index:1055;border:0}.admin-sidebar .sidebar-inner{min-height:100vh}.admin-content{padding:22px 15px}.admin-brand-label{display:none}}

/* Progress kurasi ajang */
.curation-page{min-height:65vh;background:#fff;padding:34px 0 55px}.curation-titlebar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:48px}.curation-titlebar>div h1{font-size:clamp(1.3rem,2.2vw,1.75rem);color:#253e68;margin:0;letter-spacing:-.03em}.curation-menu-icon{width:60px;height:60px;display:grid;place-items:center;border:1px solid #ffe2ad;border-radius:20px;background:#fff9ef;color:#f4a000;font-size:1.65rem}.curation-search{height:58px;width:min(400px,100%);display:flex;align-items:center;gap:13px;border:1px solid #dfe7f2;border-radius:22px;padding:0 22px;color:#8b9eb9;background:#f9fbfd}.curation-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:#2d4265;font-weight:600}.curation-search input::placeholder{color:#8b9eb9}.curation-table-wrap{border:1px solid #e7edf5;border-radius:5px;overflow:hidden}.curation-table thead th{background:#f8fafc;color:#8b9bb4;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;padding:25px 29px;border-bottom:1px solid #e1e8f1;white-space:nowrap}.curation-table tbody td{padding:30px 29px;border-color:#f0f3f8;color:#253e68;font-size:.9rem}.curation-table tbody tr:last-child td{border-bottom:0}.curation-table td:first-child{min-width:380px}.curation-table td strong{font-size:.94rem;color:#233d67;font-weight:800;text-transform:uppercase}.curation-short{color:#8a9bb7;font-weight:700;text-transform:uppercase;font-size:.82rem;margin-left:5px}.curation-notes{font-size:.78rem;color:#7e8fa8;margin-top:7px;max-width:600px}.period-pill{display:inline-block;padding:9px 15px;border:1px solid #dce5f0;border-radius:10px;color:#5d7395;font-weight:800;letter-spacing:.05em;white-space:nowrap;box-shadow:0 2px 4px #1d35570a}.curation-status{display:inline-block;border-radius:17px;padding:12px 20px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;white-space:nowrap}.status-terkurasi{background:#dcfce7;color:#00a65a}.status-persiapan_dokumen{background:#fff2c8;color:#d97706}.status-pengajuan{background:#dbeafe;color:#2563eb}.status-verifikasi{background:#ede9fe;color:#6d28d9}.status-revisi{background:#ffedd5;color:#c2410c}.status-tidak_terkurasi{background:#fee2e2;color:#b91c1c}.star-rating{display:inline-flex;gap:7px;white-space:nowrap}.star-rating i{font-size:1.15rem}.star-on{color:#f59e0b}.star-off{color:#e2e8f0}.no-rating{color:#9aabc4}.curation-footnote{font-size:.78rem;color:#8a9bb0;margin-top:17px}@media(max-width:767px){.curation-page{padding-top:25px}.curation-titlebar{align-items:stretch;flex-direction:column;margin-bottom:26px}.curation-search{width:100%}.curation-table thead th,.curation-table tbody td{padding:20px 17px}.curation-table td:first-child{min-width:300px}.curation-titlebar>div h1{font-size:1.2rem}}

/* Media sizing: keep cards consistent even when uploaded dimensions differ */
.competition-poster{display:block;width:100%;height:220px;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#f4f7f6;}
.article-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#f4f7f6;}
.site-slide-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:1.25rem;}


/* Navigation refinements */
.navbar .navbar-nav { gap: .15rem; }
.navbar .nav-link { font-weight: 600; white-space: nowrap; }
.navbar .dropdown-menu { min-width: 12rem; padding: .45rem; border-radius: .8rem; }
.navbar .dropdown-item { border-radius: .45rem; font-weight: 500; }
.navbar .dropdown-item:hover,
.navbar .dropdown-item.active { background: #e8f5f1; color: #087b65; }
.admin-sidebar .sidebar-caption { margin-top: 1.1rem; }
.admin-sidebar .sidebar-caption:first-child { margin-top: .25rem; }
.admin-sidebar .nav-link { margin-bottom: .2rem; }
@media (min-width: 992px) {
  .navbar .navbar-nav { gap: .1rem; }
}

/* Poster memenuhi seluruh area gambar kartu kompetisi */
.competition-card > .competition-poster { width:100%; height:220px; display:block; object-fit:cover; object-position:center; border-radius:1rem 1rem 0 0; }
.competition-card > .poster-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; }
@media (max-width: 575.98px) {
  .competition-card > .competition-poster { height:220px; }
}


/* Responsive refinements: desktop, tablet, and mobile */
html { scroll-behavior:smooth; }
body { overflow-wrap:anywhere; }
img, video, iframe { max-width:100%; }
.container { width:100%; }
.navbar .container { gap:.5rem; }
.navbar-brand { max-width:58%; overflow:hidden; text-overflow:ellipsis; }
.navbar-brand img { max-width:min(170px, 38vw); }
.navbar .navbar-collapse { min-width:0; }
.navbar .navbar-nav { align-items:stretch; }
.navbar .nav-link { white-space:normal; }
.table-responsive { -webkit-overflow-scrolling:touch; }
.admin-main, .admin-content, .admin-form { min-width:0; }
.admin-content { padding:clamp(1rem,2.5vw,2rem); }
.admin-page-title { font-size:clamp(1.35rem,2.8vw,2rem); overflow-wrap:anywhere; }
.admin-topbar .navbar-brand { max-width:55vw; white-space:normal; font-size:clamp(.95rem,2vw,1.25rem); }
.admin-brand-label { font-size:.65rem; }
.form-control, .form-select { min-width:0; max-width:100%; }
.card, .competition-card, .activity-card { min-width:0; }
@media (max-width: 991.98px) {
  .navbar .navbar-collapse { padding:.6rem 0 1rem; }
  .navbar .navbar-nav { gap:.1rem; }
  .navbar .nav-link { padding:.65rem .8rem!important; }
  .hero { padding:56px 0 60px; }
  .hero-art { height:280px; }
  .orbit { width:260px; height:260px; }
  .orbit-two { width:195px; height:195px; }
  .trophy { font-size:6rem; }
  .section { padding:52px 0; }
  .admin-sidebar { width:min(86vw,300px); }
  .admin-shell { min-width:0; }
}
@media (max-width: 767.98px) {
  .top-strip .container { align-items:flex-start!important; }
  .top-strip .container span { max-width:100%; overflow-wrap:anywhere; }
  .hero h1 { font-size:clamp(2rem,8vw,3rem); }
  .hero .lead { font-size:1rem; line-height:1.65; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .stats-band .row { padding:15px 0; }
  .stats-band strong { font-size:1.4rem; }
  .competition-poster, .competition-card > .competition-poster { height:clamp(170px,52vw,240px); }
  .footer .row { row-gap:1.25rem!important; }
  .admin-topbar .btn { padding:.35rem .5rem; }
  .admin-topbar .admin-brand-label { display:none; }
  .admin-date { display:none; }
  .admin-form { padding:1rem!important; }
  .table-responsive table { min-width:680px; }
}
@media (max-width: 420px) {
  .container { padding-left:14px; padding-right:14px; }
  .brand { font-size:1.05rem; }
  .brand-mark { width:30px; height:30px; border-radius:9px; }
  .btn { max-width:100%; }
  .hero { padding:42px 0 48px; }
  .hero-art { height:230px; }
  .orbit { width:215px; height:215px; }
  .orbit-two { width:160px; height:160px; }
  .trophy { font-size:5rem; }
}


/* FIX: sidebar must visibly collapse on desktop and use a distinct dark theme */
.admin-sidebar {
  background: #083f37 !important;
  color: #e5f3ee;
  border-right: 1px solid #0e5a4e !important;
  transition: width .22s ease, flex-basis .22s ease, transform .22s ease;
  overflow-x: hidden;
}
.admin-sidebar .sidebar-caption { color: #91b7ac !important; }
.admin-sidebar .nav-link,
.admin-sidebar .nav-link:visited {
  color: #d6e8e2 !important;
}
.admin-sidebar .nav-link:hover {
  color: #ffffff !important;
  background: #145b4f !important;
}
.admin-sidebar .nav-link.active {
  color: #073f37 !important;
  background: #f3c44e !important;
}
.admin-sidebar .sidebar-status { background: #124d43; color: #edf8f4; }
.admin-sidebar .sidebar-status small { color: #a8c9bf; }
.admin-sidebar .offcanvas-header { background: #083f37; color: #fff; }
.admin-sidebar .offcanvas-title { color: #fff; }
.admin-sidebar .btn-close { filter: invert(1); }
.admin-sidebar-collapsed .admin-sidebar {
  width: 76px !important;
  flex: 0 0 76px !important;
}
.admin-sidebar-collapsed .admin-sidebar .sidebar-caption,
.admin-sidebar-collapsed .admin-sidebar .nav-link span,
.admin-sidebar-collapsed .admin-sidebar .sidebar-status span,
.admin-sidebar-collapsed .admin-sidebar .sidebar-status small {
  display: none !important;
}
.admin-sidebar-collapsed .admin-sidebar .sidebar-inner { padding: 22px 9px; }
.admin-sidebar-collapsed .admin-sidebar .nav-link {
  justify-content: center;
  padding: 13px 8px !important;
  gap: 0;
}
.admin-sidebar-collapsed .admin-sidebar .nav-link i { width:auto; font-size:1.25rem; }
.admin-sidebar-collapsed .admin-sidebar .sidebar-status { padding:12px; min-height:38px; }
.admin-sidebar-toggle { min-width:40px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; }
@media (min-width: 992px) {
  .admin-sidebar { position: sticky !important; top: 68px !important; height: calc(100vh - 68px); overflow-y: auto; }
  .admin-sidebar-collapsed .admin-main { flex: 1 1 auto; }
}
@media (max-width: 991.98px) {
  .admin-sidebar { background:#083f37 !important; height:100vh; overflow-y:auto; }
  .admin-sidebar-collapsed .admin-sidebar { width:min(86vw,300px) !important; flex-basis:auto !important; }
  .admin-sidebar-collapsed .admin-sidebar .sidebar-caption,
  .admin-sidebar-collapsed .admin-sidebar .nav-link span,
  .admin-sidebar-collapsed .admin-sidebar .sidebar-status span,
  .admin-sidebar-collapsed .admin-sidebar .sidebar-status small { display:initial !important; }
  .admin-sidebar-collapsed .admin-sidebar .nav-link { justify-content:flex-start; }
}
