
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f2f8fc;color:#183c5d}
.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e8f8ff,#bfe9fb)}
.loginbox{width:min(420px,92%);background:#fff;padding:32px;border-radius:20px;box-shadow:0 20px 55px #063b6d22}.brand{color:#0878c7}.muted{color:#69849a;font-size:12px;line-height:1.6}
input,select,textarea{width:100%;padding:11px;border:1px solid #cbdfe9;border-radius:9px;margin:5px 0 12px}.btn{display:inline-block;border:0;border-radius:22px;padding:10px 17px;background:#0878c7;color:#fff;text-decoration:none;font-weight:bold;cursor:pointer}
.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,#073c75,#0878c7);color:#fff;padding:22px 14px}.side h2{font-size:18px;padding:0 10px}.side small{display:block;padding:0 10px 18px;color:#bfe9ff}.side a{display:block;color:#eaf8ff;text-decoration:none;padding:11px 12px;border-radius:9px;margin:3px 0;font-size:13px}.side a:hover,.side a.active{background:#ffffff1f}.main{padding:24px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.top h1{margin:0;color:#073c75}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat,.panel{background:#fff;border:1px solid #d9e8f1;border-radius:14px;padding:18px;box-shadow:0 6px 20px #07317209}.stat strong{font-size:28px;color:#0878c7;display:block}.stat span{font-size:11px;color:#6a8499}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px}.panel h3{margin-top:0}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid #e5eef4}.badge{display:inline-block;padding:5px 8px;border-radius:12px;background:#e5f7ff;color:#0878c7;font-size:9px;font-weight:bold}.notice{padding:12px;border-radius:10px;background:#fff5cf;color:#705c18;font-size:11px;margin-bottom:15px}
.actions{display:flex;gap:6px;flex-wrap:wrap}.danger{background:#a64242}.success{background:#318458}
@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:relative}.cards{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}@media(max-width:560px){.cards{grid-template-columns:1fr}}


/* V1.2.0 Executive Dashboard refinement */
.exec-hero{min-height:168px;border:1px solid #d6e8f5;border-radius:18px;padding:26px 28px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(90deg,#eaf7ff 0%,#f8fcff 55%,#e7f4ff 100%);position:relative;overflow:hidden}.exec-hero:after{content:"";position:absolute;right:0;bottom:0;width:46%;height:100%;background:url('../../img/kampus-itp.jpeg') center/cover;opacity:.12;mask-image:linear-gradient(90deg,transparent,#000)}.exec-hero>div{position:relative;z-index:1}.hero-kicker{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#0878c7}.exec-hero h2{margin:6px 0 4px;color:#073c75;font-size:26px}.exec-hero b{color:#155b91}.exec-hero p{max-width:670px;color:#5f7d94;font-size:13px;line-height:1.6;margin-bottom:0}.hero-brand{display:flex;align-items:center;gap:12px;min-width:285px}.hero-brand img{width:58px;height:58px;object-fit:contain}.hero-brand strong{display:block;color:#073c75;font-size:13px}.hero-brand small{display:block;color:#0878c7;font-style:italic;margin-top:4px}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}.metric{background:#fff;border:1px solid #d9e8f1;border-radius:15px;padding:15px;display:flex;align-items:center;gap:12px;box-shadow:0 6px 20px #07317209}.metric i{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-style:normal;font-size:19px;color:#fff;background:#1688e7}.metric.green i{background:#31b879}.metric.orange i{background:#f59a2d}.metric.purple i{background:#8752d6}.metric.cyan i{background:#16aebe}.metric.navy i{background:#174f85}.metric strong{display:block;color:#073c75;font-size:22px}.metric span{display:block;font-size:11px;font-weight:700;color:#315d7c}.metric small{font-size:9px;color:#7890a2}.dashboard-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:16px;margin-top:16px}.dashboard-grid.lower{grid-template-columns:1.45fr .75fr}.panel.wide{min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head a{font-size:11px;color:#0878c7;text-decoration:none;font-weight:bold}.prodi-bars{margin-top:12px}.prodi-row{display:grid;grid-template-columns:190px 1fr 35px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf3f7}.prodi-row div:first-child b,.prodi-row div:first-child small{display:block}.prodi-row small{color:#7890a2;font-size:9px;margin-top:3px}.bar{height:9px;background:#e9f2f7;border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#0878c7,#2aa9e9);border-radius:99px}.prodi-row>strong{color:#073c75;text-align:right}.mini-list>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf3f7;font-size:12px}.mini-list b{color:#0878c7;font-size:16px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.quick-grid a{border:1px solid #dceaf3;border-radius:12px;padding:13px 8px;text-decoration:none;color:#24516f;text-align:center;background:#fbfdff}.quick-grid a:hover{border-color:#8cc9ec;background:#f1faff}.quick-grid i{display:block;font-style:normal;font-size:20px;margin-bottom:5px}.quick-grid span{font-size:10px;font-weight:700}.access-note{margin-top:14px;background:#f1f8fc;border-radius:11px;padding:12px}.access-note b,.access-note span,.access-note small{display:block}.access-note b{color:#073c75}.access-note span{font-size:10px;color:#52758d;margin:3px 0}.access-note small{font-size:9px;color:#7d95a5}.table.modern th{color:#668399;font-size:10px;text-transform:uppercase}.status-pill{display:inline-block;padding:5px 9px;border-radius:99px;background:#eef5f9;color:#315d7c;font-size:9px;font-weight:bold}.status-pill.diterima{background:#e6f8ef;color:#238256}.status-pill.verifikasi{background:#fff5dc;color:#9b6a0b}.status-pill.ditolak{background:#fdecec;color:#a64242}.status-pill.baru{background:#e9f5ff;color:#0878c7}.empty{padding:20px;text-align:center;color:#7890a2;font-size:12px}.table-wrap{overflow:auto}
@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.exec-hero{align-items:flex-start}.hero-brand{display:none}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.metric-grid{grid-template-columns:1fr}.prodi-row{grid-template-columns:1fr 35px}.prodi-row .bar{grid-column:1/-1}.exec-hero{padding:20px}}

/* V1.4.9 FIX 2 - Unified responsive workspace */
:root{--itp-navy:#073f70;--itp-blue:#0788cf;--itp-line:#dce9f4;--itp-bg:#f5f9fd;--itp-text:#183c5d}
html{scroll-behavior:smooth}body{background:var(--itp-bg)}.shell{grid-template-columns:235px minmax(0,1fr)}.side{position:sticky;top:0;height:100vh;overflow-y:auto;z-index:20}.main{min-width:0;max-width:100%;padding:24px 24px 36px}.top{position:relative}.top h1{font-size:28px}.panel{width:100%;min-width:0}.grid2,.study-grid{align-items:start}.table{min-width:760px}.table-wrap,.panel{max-width:100%}.panel:has(.table){overflow-x:auto}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}.acad-tabs,.tabs{display:flex;gap:8px;flex-wrap:wrap}.acad-tabs a,.tabs a{white-space:nowrap}.btn{white-space:nowrap}.module-intro{width:100%}
@media(min-width:1200px){.main{padding-left:28px;padding-right:28px}.panel{padding:22px!important}}
@media(max-width:900px){.shell{display:block}.side{position:relative;width:100%;height:auto;display:flex;gap:4px;overflow-x:auto;padding:12px}.side h2,.side small{display:none}.side a{flex:0 0 auto;white-space:nowrap}.main{padding:16px}.top{align-items:flex-start}.top h1{font-size:23px}.user-trigger{min-width:0}.study-grid,.grid2{grid-template-columns:1fr!important}.table{min-width:680px}}
@media(max-width:560px){.main{padding:12px}.top{gap:8px}.top h1{font-size:20px}.top .muted{font-size:10px}.panel{padding:14px!important;border-radius:14px!important}.module-intro{padding:14px}.module-intro h2{font-size:18px}.module-icon{display:none}.table th,.table td{padding:9px!important}.user-trigger{padding:5px}.user-avatar,.user-avatar-fallback{width:32px;height:32px}.cards{grid-template-columns:1fr 1fr!important}}
