:root {
  --bg: #f2f5f9;
  --surface: #ffffff;
  --surface2: #eef2f7;
  --border: #dde3ec;
  --accent: #0077cc;
  --accent2: #e85c1a;
  --accent3: #1aaa5e;
  --warn: #d49600;
  --text: #1a2535;
  --muted: #7a92aa;
  --yellow: #ffd500;
  --yellow-dark: #c9a800;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;min-height:100vh;}
body::before{content:'';position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(0,0,0,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,0.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0;}

/* HEADER */
header{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;border-bottom:3px solid var(--yellow-dark);background:var(--yellow);position:sticky;top:0;z-index:300;box-shadow:0 4px 20px rgba(255,213,0,0.35);}
.logo{display:flex;align-items:center;gap:12px;}
.logo-hex{width:36px;height:36px;background:linear-gradient(135deg,#1a2535,#2e4060);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;font-size:16px;}
.logo-text{font-family:'Rajdhani',sans-serif;font-size:24px;font-weight:700;letter-spacing:3px;color:#1a2535;}
.logo-sub{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#5a4a00;letter-spacing:2px;text-transform:uppercase;margin-top:1px;}
.logo-icon {
  width: auto;
  height: 36px;
  /* background: var(--black); */
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-divider {
  width: 3px;
  height: 45px;
  background-color: #000000;
  opacity: 0.65;
  border-radius: 2px;
  margin: 0 8px; /* Memberikan jarak napas antara logo UT dan teks Digvision */
}
.hdr-center{text-align:center;}
.hdr-title{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;color:#1a2535;letter-spacing:1px;}
.hdr-loc{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#5a4a00;letter-spacing:1.5px;}
.hdr-right{display:flex;align-items:center;gap:16px;}
.live-pill{display:flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:#1a5c30;letter-spacing:1.5px;background:rgba(0,0,0,0.1);padding:5px 12px;border-radius:99px;}
.live-dot{width:7px;height:7px;background:#1aaa5e;border-radius:50%;animation:pulse 1.5s infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(26,170,94,0.5);}50%{box-shadow:0 0 0 6px rgba(26,170,94,0);}}
.hdr-date{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#5a4a00;}
.avatar{width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,0.15);border:2px solid rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:center;font-size:14px;}
.back-btn{background:rgba(0,0,0,0.12);border:none;border-radius:8px;padding:7px 16px;cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:#1a2535;}
.back-btn:hover{background:rgba(0,0,0,0.2);}

/* MAIN */
main{padding:24px 32px;position:relative;z-index:1;}
.sec-label{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.sec-label::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent);}

/* CARD */
.card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.05);}
.card-head{background:var(--yellow);border-bottom:2px solid var(--yellow-dark);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;}
.card-title{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:700;color:#1a2535;letter-spacing:1px;}
.card-sub{font-family:'IBM Plex Mono',monospace;font-size:8px;color:#5a4a00;letter-spacing:1px;}
.card-body{padding:18px 20px;}

/* MAP */
.map-wrap{border-radius:12px;overflow:hidden;border:2px solid var(--yellow-dark);box-shadow:0 2px 12px rgba(0,0,0,0.1);margin-bottom:22px;position:relative;background:#000;}
.map-img{width:100%;display:block;height:auto;object-fit:contain;}
.map-badge{position:absolute;background:rgba(0,0,0,0.65);backdrop-filter:blur(8px);border-radius:8px;padding:7px 13px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:1px;}
.map-overlay-top{position:absolute;top:14px;left:14px;display:flex;gap:8px;z-index:10;}
.map-legend{position:absolute;bottom:14px;right:14px;z-index:10;background:rgba(0,0,0,0.65);backdrop-filter:blur(8px);border-radius:10px;padding:10px 14px;}
.map-scale{position:absolute;bottom:14px;left:14px;z-index:10;background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);border-radius:8px;padding:7px 12px;font-family:'IBM Plex Mono',monospace;font-size:8px;color:#fff;}
.map-tabs{position:absolute;top:14px;right:14px;display:flex;gap:6px;z-index:10;}
.map-tab{padding:5px 12px;border-radius:6px;font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:1px;cursor:pointer;border:1px solid rgba(255,255,255,0.3);background:rgba(0,0,0,0.5);color:#fff;transition:all 0.2s;}
.map-tab.active{background:var(--yellow);color:#1a2535;border-color:var(--yellow);}

/* GRID LAYOUTS */
.grid3{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:18px;margin-bottom:18px;}
.grid2{display:grid;grid-template-columns:1fr 1.6fr;gap:18px;margin-bottom:24px;}

/* STAT PILL */
.stat-pill{background:#f8fafd;border:1px solid var(--border);border-radius:8px;padding:10px 14px;text-align:center;}
.stat-pill-val{font-family:'Rajdhani',sans-serif;font-size:26px;font-weight:700;line-height:1;}
.stat-pill-lbl{font-family:'IBM Plex Mono',monospace;font-size:8px;color:var(--muted);letter-spacing:1px;margin-top:2px;}

/* DARK METRIC BOX */
.metric-dark{background:linear-gradient(155deg,#1a2535,#2e4060);border-radius:12px;padding:18px;text-align:center;position:relative;overflow:hidden;}
.metric-dark::before{content:'';position:absolute;top:-20px;right:-20px;width:80px;height:80px;background:rgba(255,213,0,0.08);border-radius:50%;}
.metric-dark-label{font-family:'IBM Plex Mono',monospace;font-size:8px;color:var(--yellow);letter-spacing:1.5px;margin-bottom:8px;}
.metric-dark-val{font-family:'Rajdhani',sans-serif;font-size:42px;font-weight:700;color:#fff;line-height:1;}
.metric-dark-unit{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#8899bb;margin-top:3px;}
.metric-dark-badge{margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:8px;padding:4px 10px;border-radius:4px;display:inline-block;}

/* SCORE */
.score-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;}
.score-name{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#1a2535;font-weight:600;}
.score-val{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;}
.score-bar-wrap{height:8px;background:#eef2f7;border-radius:99px;overflow:hidden;margin-bottom:3px;}
.score-bar{height:100%;border-radius:99px;}
.score-note{font-family:'IBM Plex Mono',monospace;font-size:8px;color:var(--muted);margin-bottom:14px;}

/* SARAN */
.saran-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:9px;}
.saran-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;}
.saran-text{font-family:'Inter',sans-serif;font-size:11px;color:#5a4a00;line-height:1.55;}

/* PROD CARD */
.prod-card{border-radius:10px;padding:14px 16px;margin-bottom:12px;}
.prod-card-lbl{font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:1.5px;margin-bottom:6px;}
.prod-card-val{font-family:'Rajdhani',sans-serif;font-size:40px;font-weight:700;line-height:1;}
.prod-card-unit{font-family:'IBM Plex Mono',monospace;font-size:9px;margin-top:2px;}

::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:#dde3ec;border-radius:99px;}