:root{--epi-navy:#061a33;--epi-navy2:#0b2748;--epi-blue:#1e88e5;--epi-sky:#eaf4ff;--epi-gold:#d4af37;--epi-green:#17a673;--epi-red:#d9534f;--epi-bg:#f4f7fb;--epi-card:#fff;--epi-text:#1c2633;--epi-muted:#687789;--epi-line:#dbe4ef;--epi-shadow:0 14px 35px rgba(6,26,51,.12);--epi-radius:18px}
.epi-app{font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--epi-text);background:linear-gradient(135deg,#061a33 0,#0b2748 22%,#f4f7fb 22%,#f4f7fb 100%);padding:0 0 50px;border-radius:16px;overflow:hidden}.epi-app *{box-sizing:border-box}.epi-top{position:sticky;top:32px;z-index:5;background:rgba(6,26,51,.96);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.epi-brand{display:flex;align-items:center;gap:12px;font-weight:800}.epi-brand>span{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--epi-gold),#fff1b7);display:grid;place-items:center;color:var(--epi-navy);font-weight:900}.epi-brand small{display:block;color:#b7c9dd}.epi-menu{display:flex;gap:8px;flex-wrap:wrap}.epi-menu button,.epi-btn{border:0;border-radius:999px;padding:10px 14px;cursor:pointer;background:rgba(255,255,255,.1);color:#fff;font-weight:800;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.epi-menu button.active,.epi-menu button:hover,.epi-primary{background:var(--epi-gold)!important;color:var(--epi-navy)!important}.epi-hero{margin:18px;display:grid;grid-template-columns:1.2fr .8fr;gap:16px;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(234,244,255,.97));border-radius:26px;padding:24px;box-shadow:var(--epi-shadow)}.epi-hero h1{margin:8px 0 8px;font-size:30px;line-height:1.1}.epi-hero p{color:var(--epi-muted);margin:0}.epi-note{border-left:5px solid var(--epi-gold);background:#fffaf0;padding:16px;border-radius:16px;color:#4b3b0d}.epi-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--epi-sky);color:#174b7d;font-weight:900;font-size:12px;margin:3px 4px 3px 0}.epi-pill.gold{background:#fff7d7;color:#6e5200}.epi-pill.green{background:#e7f7f0;color:#0c6d4a}.epi-pill.red{background:#ffeded;color:#92322f}.epi-view{display:none;margin:18px}.epi-view.active{display:block}.epi-grid{display:grid;gap:16px}.epi-cols-4{grid-template-columns:repeat(4,1fr)}.epi-cols-3{grid-template-columns:repeat(3,1fr)}.epi-cols-2{grid-template-columns:repeat(2,1fr)}.epi-card{background:var(--epi-card);border:1px solid var(--epi-line);border-radius:var(--epi-radius);box-shadow:0 8px 20px rgba(6,26,51,.06);padding:18px}.epi-card h2{margin:0 0 12px;font-size:22px}.epi-card h3{margin:0 0 10px;font-size:17px}.epi-muted{color:var(--epi-muted)}.epi-metric{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.epi-num{font-size:30px;font-weight:900;color:var(--epi-navy)}.epi-label{font-weight:900;color:var(--epi-muted);font-size:13px}.epi-bar{height:10px;background:#e6edf5;border-radius:999px;overflow:hidden;margin-top:10px}.epi-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--epi-blue),var(--epi-green));border-radius:999px}.epi-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.epi-form.two{grid-template-columns:repeat(2,1fr)}.epi-field label{display:block;font-size:12px;font-weight:900;color:#526276;margin:0 0 6px}.epi-field input,.epi-field select,.epi-field textarea{width:100%;padding:11px 12px;border:1px solid var(--epi-line);border-radius:12px;font:inherit;background:#fff;outline:none}.epi-field textarea{min-height:90px;resize:vertical}.epi-field input:focus,.epi-field select:focus,.epi-field textarea:focus{border-color:var(--epi-blue);box-shadow:0 0 0 3px rgba(30,136,229,.12)}.epi-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.epi-btn{background:var(--epi-navy);color:#fff}.epi-btn.blue{background:var(--epi-blue);color:#fff}.epi-btn.green{background:var(--epi-green);color:#fff}.epi-btn.light{background:#eef4fb;color:var(--epi-navy)}.epi-btn.red{background:var(--epi-red);color:#fff}.epi-table-wrap{overflow:auto}.epi-table{width:100%;border-collapse:separate;border-spacing:0}.epi-table th,.epi-table td{padding:11px 10px;border-bottom:1px solid var(--epi-line);text-align:left;vertical-align:top;font-size:13px}.epi-table th{font-size:12px;color:#526276;background:#f7fafc;text-transform:uppercase;letter-spacing:.04em}.epi-table tr:hover td{background:#fbfdff}.epi-tag{display:inline-block;padding:5px 8px;border-radius:999px;font-weight:900;font-size:11px}.epi-real{background:#e7f7f0;color:#0c6d4a}.epi-mod{background:#fff7d7;color:#6e5200}.epi-asp{background:#edf3ff;color:#244e99}.epi-risk{background:#ffeded;color:#92322f}.epi-student-list{max-height:640px;overflow:auto}.epi-student-row{padding:12px;border:1px solid var(--epi-line);border-radius:14px;margin-bottom:10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;background:#fff}.epi-student-row.active{border-color:var(--epi-blue);box-shadow:0 0 0 3px rgba(30,136,229,.1)}.epi-progress{display:grid;gap:10px}.epi-progress-item{display:grid;grid-template-columns:150px 1fr 54px;gap:12px;align-items:center}.epi-login-box{max-width:560px;margin:30px auto;padding:28px;background:#fff;border-radius:22px;box-shadow:var(--epi-shadow)}.epi-small{font-size:12px}.epi-print-header{display:none}.epi-kbd{font-family:monospace;background:#f1f5f9;border:1px solid var(--epi-line);border-radius:8px;padding:2px 6px}@media(max-width:1100px){.epi-hero,.epi-cols-4,.epi-cols-3,.epi-cols-2{grid-template-columns:1fr}.epi-form{grid-template-columns:repeat(2,1fr)}.epi-top{top:0}}@media(max-width:680px){.epi-hero{grid-template-columns:1fr;margin:10px;padding:16px}.epi-hero h1{font-size:23px}.epi-view{margin:10px}.epi-form,.epi-form.two{grid-template-columns:1fr}.epi-progress-item{grid-template-columns:1fr}.epi-table th,.epi-table td{font-size:12px}.epi-card{padding:14px}}@media print{.epi-top,.epi-hero,.epi-actions,.epi-menu{display:none!important}.epi-app{background:#fff}.epi-view{display:none!important}.epi-view.printing{display:block!important}.epi-card{box-shadow:none;break-inside:avoid}.epi-print-header{display:block}}
/* EPI national matrix helper UI */
.epi-info-btn{width:20px;height:20px;border-radius:999px;border:1px solid var(--epi-line);background:#fff;color:var(--epi-navy);font-weight:900;font-size:12px;line-height:18px;text-align:center;cursor:pointer;margin-left:5px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.epi-info-btn:hover{background:var(--epi-gold);border-color:var(--epi-gold);color:var(--epi-navy)}
.epi-modal-backdrop{position:fixed;inset:0;background:rgba(6,26,51,.58);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}
.epi-modal{width:min(620px,100%);max-height:82vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:24px;position:relative;border:1px solid rgba(255,255,255,.8)}
.epi-modal h2{margin:0 34px 12px 0;color:var(--epi-navy);font-size:22px}.epi-modal p{line-height:1.6;margin:0;color:var(--epi-text)}
.epi-modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:999px;border:0;background:#eef4fb;color:var(--epi-navy);font-size:22px;cursor:pointer;font-weight:900}.epi-modal-close:hover{background:var(--epi-gold)}
.epi-campus-suggest{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.epi-campus-option{border:1px solid var(--epi-line);background:#fff;color:var(--epi-navy);border-radius:999px;padding:8px 10px;cursor:pointer;font-weight:800;font-size:12px}.epi-campus-option:hover{border-color:var(--epi-blue);box-shadow:0 0 0 3px rgba(30,136,229,.10)}
.epi-campus-selected{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.epi-campus-chip{display:inline-flex;align-items:center;gap:7px;background:#fff7d7;color:#5a4300;border:1px solid #f2dd86;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px}.epi-campus-chip button{border:0;background:transparent;color:#5a4300;cursor:pointer;font-weight:900;font-size:16px;line-height:1}.epi-campus-chip button:hover{color:var(--epi-red)}
.epi-sim-result{border:1px solid var(--epi-line);border-radius:14px;background:#fff;padding:11px 12px;margin-bottom:10px;cursor:pointer}.epi-sim-result:hover{border-color:var(--epi-blue);box-shadow:0 0 0 3px rgba(30,136,229,.10);background:#fbfdff}
@media print{.epi-info-btn,.epi-modal-backdrop,.epi-campus-suggest,.epi-campus-selected{display:none!important}}
/* EPI v1.3 report popup prodi */
.epi-prodi-link{border:0;background:transparent;color:var(--epi-blue);font-weight:900;text-align:left;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;font:inherit}
.epi-prodi-link:hover{color:var(--epi-navy)}
@media print{.epi-prodi-link{color:var(--epi-text);text-decoration:none}}

/* EPI v1.5 Cetak Raport A4 */
.epi-student-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.epi-mini-btn{border:0;border-radius:999px;background:#eef4fb;color:var(--epi-navy);font-weight:900;font-size:11px;padding:7px 10px;cursor:pointer}
.epi-mini-btn:hover{background:var(--epi-gold);color:var(--epi-navy)}
#epi-raport-print-area{display:none}
.epi-raport-a4{font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:#1c2633;background:#fff;width:210mm;min-height:297mm;padding:14mm 13mm;margin:0 auto}
.epi-raport-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:3px solid #061a33;padding-bottom:12px;margin-bottom:14px}
.epi-raport-title{font-size:24px;font-weight:900;color:#061a33;letter-spacing:-.02em}
.epi-raport-subtitle{font-size:12px;font-weight:800;color:#687789;margin-top:4px;text-transform:uppercase;letter-spacing:.05em}
.epi-raport-time{text-align:right;font-size:11px;color:#687789;line-height:1.45}
.epi-raport-student{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.epi-raport-student div{border:1px solid #dbe4ef;border-radius:12px;padding:9px 10px;background:#f8fbff}
.epi-raport-student span{display:block;font-size:10px;font-weight:900;color:#687789;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.epi-raport-student b{font-size:13px;color:#061a33}
.epi-raport-note{border-left:4px solid #d4af37;background:#fffaf0;border-radius:10px;padding:9px 11px;font-size:11px;line-height:1.45;margin:10px 0 14px;color:#4b3b0d}
.epi-raport-a4 h2{font-size:15px;color:#061a33;margin:14px 0 8px;border-bottom:1px solid #dbe4ef;padding-bottom:5px}
.epi-raport-table{width:100%;border-collapse:collapse;margin:8px 0 12px}
.epi-raport-table th{background:#061a33;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:7px 6px;text-align:left}
.epi-raport-table td{border:1px solid #dbe4ef;padding:7px 6px;font-size:11px;vertical-align:top}
.epi-raport-table tr:nth-child(even) td{background:#fbfdff}
.epi-raport-avg td{background:#fff7d7!important;font-weight:900}
.epi-raport-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}
.epi-raport-grid>div{border:1px solid #dbe4ef;border-radius:14px;padding:10px;background:#fff}
.epi-raport-grid p,.epi-raport-grid li{font-size:11px;line-height:1.5}
.epi-raport-grid ul{margin:6px 0 0 18px;padding:0}
.epi-raport-footer{margin-top:16px;border-top:1px solid #dbe4ef;padding-top:8px;font-size:10px;color:#687789;text-align:center}
@media print{
  body *{visibility:hidden!important}
  #epi-raport-print-area,#epi-raport-print-area *{visibility:visible!important}
  #epi-raport-print-area{display:block!important;position:absolute;inset:0;background:#fff}
  .epi-app,.epi-top,.epi-hero,.epi-actions,.epi-menu{display:none!important}
  @page{size:A4;margin:0}
  .epi-raport-a4{box-shadow:none;margin:0;width:210mm;min-height:297mm;page-break-after:always}
}
@media(max-width:680px){
  .epi-student-actions{justify-content:flex-start}
  .epi-mini-btn{font-size:10px;padding:6px 9px}
}

/* EPI v2.1 selected program shortlist */
.epi-check-wrap{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:12px;color:var(--epi-navy);cursor:pointer;white-space:nowrap}
.epi-check-wrap input{width:16px;height:16px;accent-color:var(--epi-blue)}
.epi-check-wrap span{padding:4px 7px;border-radius:999px;background:#eef4fb}
.epi-check-wrap input:checked+span{background:#e7f7f0;color:#0c6d4a}
