body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#2f3552}
a{text-decoration:none}

/* LANDING */
.landing-body{background:#f7faf8}
.pelita-header{background:linear-gradient(135deg,#137a4b 0%,#1c9f62 100%);color:#fff;padding-bottom:90px;border-bottom-left-radius:120px 80px}
.landing-navbar{max-width:1180px;margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}
.landing-brand-logo{font-size:34px;font-weight:bold;line-height:1}
.landing-brand-sub{font-size:12px;opacity:.95}
.landing-menu{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.landing-menu a{color:#fff;font-size:14px}
.landing-login-btn{border:1px solid #fff;padding:9px 18px;border-radius:8px}
.landing-hero{max-width:1180px;margin:0 auto;padding:60px 24px 20px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.landing-hero-left h1{font-size:52px;margin:0 0 15px 0;line-height:1.15}
.landing-hero-left p{font-size:16px;margin-bottom:30px;max-width:560px}
.landing-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-hero-primary,.btn-hero-outline{display:inline-block;padding:13px 22px;border-radius:8px;font-weight:bold;font-size:14px}
.btn-hero-primary{background:#f59e0b;color:#fff}
.btn-hero-outline{border:1px solid #e4ffd8;color:#e4ffd8;background:transparent}
.play-circle{width:92px;height:92px;border-radius:50%;background:#fff;color:#137a4b;display:flex;align-items:center;justify-content:center;font-size:34px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.landing-section{max-width:1180px;margin:0 auto;padding:70px 24px 20px}
.section-heading{text-align:center;margin-bottom:35px}
.section-heading h2{margin:0 0 12px 0;font-size:42px;color:#232323}
.section-heading p{margin:0 auto;max-width:760px;color:#6b7280;line-height:1.6}
.section-heading.white h2,.section-heading.white p{color:#fff}
.card-grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-card,.announce-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(17,24,39,.08);overflow:hidden}
.news-thumb{height:210px;background:linear-gradient(135deg,#c5f3da 0%,#eafcf1 100%)}
.pelita-thumb{background:linear-gradient(135deg,#9ae6b4 0%,#def7e8 100%)}
.news-body{padding:18px}
.news-body h3{font-size:18px;margin:0 0 12px 0;line-height:1.5}
.news-meta,.news-date,.announce-date,.announce-doc,.announce-link{color:#6b7280;font-size:13px}
.announce-card{padding:20px}
.announce-card h3{color:#137a4b;font-size:20px;margin-top:0}
.announce-card p{line-height:1.6}
.feature-showcase{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:28px;align-items:center}
.feature-item{margin-bottom:24px}
.feature-item h4{margin:0 0 8px 0;font-size:22px}
.feature-item p{margin:0;color:#6b7280;line-height:1.6}
.preview-box{background:#111827;border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.preview-screen{border-radius:12px;min-height:260px;background:linear-gradient(135deg,#137a4b 0%,#1c9f62 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;text-align:center;padding:20px}
.pelita-blue-section{margin-top:60px;background:#137a4b;padding:80px 24px}
.workflow-grid{max-width:1180px;margin:40px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.workflow-item{text-align:center;color:#fff}
.workflow-icon{font-size:42px;margin-bottom:12px}
.workflow-item h4{font-size:24px;margin-bottom:12px}
.workflow-item p{color:rgba(255,255,255,.9);line-height:1.6}

/* APP */
.app-body{background:#f4f8f5}
.app-topbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:14px 24px;display:flex;justify-content:space-between;align-items:center}
.app-brand{display:flex;align-items:center;gap:14px}
.app-brand-logo{font-size:34px;font-weight:bold;color:#137a4b}
.app-brand-text{display:flex;flex-direction:column}
.app-brand-text strong{color:#137a4b;font-size:18px}
.app-brand-text small{color:#6b7280}
.app-topbar-right{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.app-badge-role{background:#137a4b;color:#fff;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:bold}
.app-badge-notif{background:#eefcf3;color:#137a4b;padding:8px 14px;border-radius:8px;font-size:13px}
.app-user-name{font-weight:bold;color:#374151}
.app-navbar{background:#137a4b;padding:12px 24px;display:flex;gap:24px;flex-wrap:wrap}
.app-navbar a{color:#fff;font-size:14px;font-weight:600}
.page-wrap{max-width:1280px;margin:0 auto;padding:24px}
.app-footer{text-align:center;padding:20px;font-size:12px;color:#6b7280}
.hero-panel{background:linear-gradient(135deg,#157347 0%,#1f9d61 100%);color:#fff;padding:28px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.hero-date{display:inline-block;background:rgba(255,255,255,.18);padding:7px 12px;border-radius:7px;font-size:12px;margin-bottom:14px}
.hero-panel h1{margin:0 0 8px 0;font-size:36px}
.hero-big-icon{font-size:64px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}
.stat-card{padding:24px;border-radius:14px;color:#fff}
.stat-card.pink{background:#ff4f81}
.stat-card.blue{background:#13a6c3}
.stat-card.yellow{background:#f1b81f}
.stat-card.green{background:#10c46b}
.stat-number{font-size:46px;font-weight:bold;line-height:1;margin-bottom:10px}
.stat-label{font-size:20px;font-weight:700}
.two-col-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:22px}
.panel-box{background:#fff;padding:20px;border-radius:14px;box-shadow:0 2px 12px rgba(17,24,39,.06);margin-bottom:20px}
.panel-box h3{margin-top:0}
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{border:1px solid #eceff5;padding:10px;vertical-align:top;font-size:14px}
.table th{background:#f8fafc}
.form-control{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d7dbe5;border-radius:8px;font-size:14px;margin-bottom:10px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.btn{display:inline-block;padding:10px 14px;border-radius:8px;border:none;cursor:pointer;background:#d1d5db;color:#111827;font-size:14px}
.btn-primary{background:#137a4b;color:#fff}
.btn-info{background:#13a6c3;color:#fff}
.btn-warning{background:#f59e0b;color:#fff}
.btn-danger{background:#ef4444;color:#fff}
.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px}
.alert-success{background:#dcfce7;color:#166534}
.alert-danger{background:#fee2e2;color:#991b1b}
.badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:bold}
.badge-draft{background:#6b7280;color:#fff}
.badge-diajukan{background:#0ea5e9;color:#fff}
.badge-diterima{background:#10b981;color:#fff}
.badge-revisi{background:#f59e0b;color:#fff}
.badge-ditolak{background:#ef4444;color:#fff}
.notif-item{line-height:1.6}
.login-page{background:#e8f4ec;min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-box{width:440px;max-width:95%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.login-header{background:#d7f4e3;color:#137a4b;padding:28px}
.login-box form{padding:24px}
.btn-block{width:100%}

@media (max-width:1024px){
.card-grid.three,.workflow-grid,.stats-grid,.feature-showcase,.two-col-grid{grid-template-columns:1fr}
.landing-hero{flex-direction:column;text-align:center}
.landing-hero-actions{justify-content:center}
}
@media (max-width:768px){
.landing-navbar,.app-topbar,.app-navbar,.page-wrap,.landing-section{padding-left:16px;padding-right:16px}
.landing-hero-left h1{font-size:36px}
.hero-panel{flex-direction:column;align-items:flex-start;gap:14px}
.grid-2{grid-template-columns:1fr}
}