/* ARAH DAYA — layout: glass command-center. Sidebar kiri, panel kaca berlapis di atas mesh gradien bergerak.
   Token warna: --bg permukaan, --ink teks, --accent aksen utama (dapat diganti dari Pengaturan),
   warna perspektif BSC tetap: fin/cus/int/lrn (dari materi Strategic Alignment). */
:root{
  --font-display:"Outfit","Segoe UI",system-ui,sans-serif;
  --font-body:"Manrope","Segoe UI",system-ui,sans-serif;
  --accent:#2f6bff; --accent-2:#22d3ee; --accent-3:#a855f7;
  --bg:#f3f5fb; --bg-2:#e9edf7; --panel:rgba(255,255,255,.72); --panel-2:rgba(255,255,255,.55); --line:rgba(20,30,70,.12);
  --ink:#0f1733; --ink-2:#4b5577; --ink-3:#7c86a8;
  --fin:#15803d; --cus:#1d4ed8; --int:#c2410c; --lrn:#6d28d9;
  --good:#15803d; --warn:#b45309; --bad:#b91c1c;
  --mesh-1:#b7c7ff; --mesh-2:#c9f3ff; --mesh-3:#e9d5ff; --mesh-4:#ffe4cc;
  --shadow:0 20px 60px -20px rgba(20,30,70,.25), 0 1px 0 rgba(255,255,255,.6) inset;
  --glow:0 0 0 1px rgba(255,255,255,.5) inset, 0 30px 80px -30px color-mix(in oklab,var(--accent) 50%,transparent);
  --r:18px; --r-sm:12px;
  color-scheme:light;
}
:root[data-mode="dark"]{
  --bg:#070b18; --bg-2:#0b1226; --panel:rgba(16,24,48,.62); --panel-2:rgba(22,32,64,.5); --line:rgba(140,170,255,.14);
  --ink:#eef2ff; --ink-2:#b4bddc; --ink-3:#7f8ab3;
  --fin:#16a34a; --cus:#3b82f6; --int:#e06a12; --lrn:#9b7bf0;
  --good:#22c55e; --warn:#f59e0b; --bad:#f87171;
  --mesh-1:#1a2f8a; --mesh-2:#0e5a6b; --mesh-3:#4a1d8f; --mesh-4:#6b2a0e;
  --shadow:0 30px 80px -30px rgba(0,0,0,.7), 0 1px 0 rgba(255,255,255,.06) inset;
  --glow:0 0 0 1px rgba(255,255,255,.06) inset, 0 40px 100px -40px color-mix(in oklab,var(--accent) 70%,transparent);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--accent)}
[hidden]{display:none!important}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--ink-2)}
.tiny{font-size:12px;color:var(--ink-3)}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:700}

/* ---------- background layers (the "4D" depth) ---------- */
#mesh{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--bg)}
#mesh .blob{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(70px);opacity:.75;mix-blend-mode:normal;animation:drift 26s ease-in-out infinite alternate;will-change:transform}
#mesh .b1{background:var(--mesh-1);top:-20vmax;left:-15vmax}
#mesh .b2{background:var(--mesh-2);bottom:-25vmax;right:-10vmax;animation-delay:-8s;animation-duration:32s}
#mesh .b3{background:var(--mesh-3);top:30%;left:40%;width:45vmax;height:45vmax;animation-delay:-15s;animation-duration:38s}
#mesh .b4{background:var(--mesh-4);top:-10vmax;right:20vmax;width:35vmax;height:35vmax;opacity:.5;animation-delay:-4s}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(8vmax,6vmax,0) scale(1.15)}}
#stars{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.7}
#grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 70%);opacity:.5}
@media (prefers-reduced-motion:reduce){#mesh .blob{animation:none}}

/* ---------- glass ---------- */
.glass{background:var(--panel);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);position:relative}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.55),transparent 40%,transparent 60%,color-mix(in oklab,var(--accent) 35%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.8}
.tilt{transition:transform .25s ease,box-shadow .25s ease}
.tilt:hover{box-shadow:var(--glow)}

/* ---------- login ---------- */
#login{position:relative;z-index:1;min-height:100%;display:grid;place-items:center;padding-block:32px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.login-wrap{width:min(1040px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
.login-hero{padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;overflow:hidden}
.login-hero h1{font-size:clamp(30px,4.2vw,48px);line-height:1.05;font-weight:800}
.login-hero h1 span{background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3));-webkit-background-clip:text;background-clip:text;color:transparent}
.journey-mini{display:flex;flex-wrap:wrap;gap:8px}
.journey-mini .j{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--panel-2);border:1px solid var(--line);display:flex;align-items:center;gap:6px;animation:float 5s ease-in-out infinite}
.journey-mini .j i{width:8px;height:8px;border-radius:50%;background:var(--c,var(--accent));box-shadow:0 0 10px var(--c,var(--accent))}
.journey-mini .j:nth-child(2n){animation-delay:-1.5s}.journey-mini .j:nth-child(3n){animation-delay:-3s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.login-card{padding:36px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-3));box-shadow:0 10px 30px -10px var(--accent);overflow:hidden;flex:none}
.brand .logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.brand b{display:block;font-family:var(--font-display);font-size:17px;line-height:1.1}
.brand small{color:var(--ink-3);font-size:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;font-weight:700;color:var(--ink-2)}
.input,select.input,textarea.input{width:100%;padding:11px 13px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--ink);outline:none;transition:border .2s,box-shadow .2s;min-width:0}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 22%,transparent)}
textarea.input{min-height:84px;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,.input:focus-visible,.nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn.primary{background:linear-gradient(135deg,var(--accent),color-mix(in oklab,var(--accent) 60%,var(--accent-3)));color:#fff;border-color:transparent;box-shadow:0 12px 30px -12px var(--accent)}
.btn.ghost{background:transparent}
.btn.danger{color:var(--bad);border-color:color-mix(in oklab,var(--bad) 40%,transparent)}
.btn.sm{padding:6px 10px;font-size:12.5px;border-radius:9px}
.btn.icon{padding:8px;width:36px;height:36px}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.chip{padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip:hover{border-color:var(--accent)}
.err{color:var(--bad);font-size:13px;font-weight:600}
.ok{color:var(--good);font-size:13px;font-weight:600}

/* ---------- app shell ---------- */
#app{position:relative;z-index:1;display:grid;grid-template-columns:264px 1fr;min-height:100%}
.sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:10px;padding:16px 12px;padding-left:max(12px,env(safe-area-inset-left,0px));border-right:1px solid var(--line);background:var(--panel);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow-y:auto}
.nav{display:flex;flex-direction:column;gap:3px}
.nav .sec{margin:12px 10px 4px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:800}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:13.5px;position:relative;transition:background .2s,color .2s,transform .15s}
.nav a .ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line);font-size:13px;flex:none;color:var(--c,var(--ink-2))}
.nav a:hover{background:var(--panel-2);color:var(--ink);transform:translateX(2px)}
.nav a.active{background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 22%,transparent),transparent);color:var(--ink)}
.nav a.active .ic{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 8px 20px -8px var(--accent)}
.nav a .step{margin-left:auto;font-size:10px;color:var(--ink-3);font-weight:800}
.side-user{margin-top:auto;padding:12px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line);display:flex;gap:10px;align-items:center}
.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent-2),var(--accent));flex:none}
.role-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--rc,var(--accent))}
.main{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;align-items:center;gap:12px;padding:12px 24px;padding-right:max(24px,env(safe-area-inset-right,0px));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:color-mix(in oklab,var(--bg) 60%,transparent);border-bottom:1px solid var(--line)}
.topbar h2{font-size:18px;font-weight:800}
.topbar .crumb{font-size:12px;color:var(--ink-3)}
.topbar .spacer{flex:1}
.content{padding:22px 24px 60px;padding-right:max(24px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:18px;min-width:0}
.page{display:flex;flex-direction:column;gap:18px;animation:rise .4s ease both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.burger{display:none}
.scrim{display:none}

/* ---------- cards & grids ---------- */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{padding:18px}
.card h3{font-size:15px;font-weight:800;margin-bottom:6px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.stat{display:flex;flex-direction:column;gap:6px;min-height:118px;overflow:hidden}
.stat .v{font-family:var(--font-display);font-size:34px;font-weight:800;line-height:1}
.stat .l{font-size:12.5px;color:var(--ink-2);font-weight:600}
.stat .orb{position:absolute;right:-20px;top:-20px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 30% 30%,color-mix(in oklab,var(--c,var(--accent)) 55%,transparent),transparent 70%);filter:blur(8px);pointer-events:none}
.ring{--p:0;--c:var(--accent);width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),color-mix(in oklab,var(--line) 70%,transparent) 0);display:grid;place-items:center;position:relative;flex:none}
.ring::after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--panel)}
.ring b{position:relative;z-index:1;font-family:var(--font-display);font-size:18px}
.ring.lg{width:150px;height:150px}.ring.lg::after{inset:14px}.ring.lg b{font-size:30px}
.ring.sm{width:52px;height:52px}.ring.sm::after{inset:6px}.ring.sm b{font-size:12px}
.bar{height:8px;border-radius:999px;background:color-mix(in oklab,var(--line) 70%,transparent);overflow:hidden}
.bar i{display:block;height:100%;border-radius:999px;background:var(--c,var(--accent));width:calc(var(--p)*1%);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.persp{--c:var(--accent)}
.persp.financial{--c:var(--fin)}.persp.customer{--c:var(--cus)}.persp.internal{--c:var(--int)}.persp.learning{--c:var(--lrn)}
.tag{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;background:color-mix(in oklab,var(--c,var(--accent)) 16%,transparent);color:var(--c,var(--accent));border:1px solid color-mix(in oklab,var(--c,var(--accent)) 35%,transparent)}
.tag.good{--c:var(--good)}.tag.warn{--c:var(--warn)}.tag.bad{--c:var(--bad)}.tag.neutral{--c:var(--ink-3)}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.between{justify-content:space-between}
.actions{display:flex;gap:6px;flex-wrap:wrap;flex:none}
.empty{padding:28px;text-align:center;color:var(--ink-3);border:1px dashed var(--line);border-radius:var(--r)}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:hover td{background:color-mix(in oklab,var(--accent) 5%,transparent)}
.cell-input{width:72px;padding:5px 7px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);text-align:right;color:inherit}
input[type=color].input{height:44px;padding:4px}
.pcell{width:6px;border-radius:4px;background:var(--c)}

/* ---------- journey (9 steps) ---------- */
.journey{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px;perspective:1200px}
.journey .step{position:relative;padding:14px 10px;border-radius:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s;min-width:0;transform:rotateY(calc(var(--i) * 0deg))}
.journey .step:hover{transform:translateY(-6px) rotateX(6deg);z-index:2}
.journey .step .chev{position:absolute;right:-13px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--panel);border:1px solid var(--line);display:grid;place-items:center;color:var(--c);z-index:3}
.journey .step .n{font-size:10px;font-weight:800;color:var(--ink-3)}
.journey .step .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--c,var(--accent));color:#fff;font-size:15px;box-shadow:0 10px 24px -10px var(--c,var(--accent))}
.journey .step b{font-family:var(--font-display);font-size:12.5px;line-height:1.15}
.journey .step .bar{width:100%}
.journey .step .pct{font-size:11px;font-weight:800;color:var(--ink-2)}

/* ---------- roadmap ---------- */
.roadmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;perspective:1600px}
.roadmap .yr{padding:14px;display:flex;flex-direction:column;gap:10px;transform:rotateY(calc((var(--i) - 2) * -6deg)) translateZ(calc((2 - abs(var(--i) - 2)) * 10px));transition:transform .4s}
.roadmap .yr:hover{transform:rotateY(0) translateZ(30px)}
.roadmap .yr .y{font-family:var(--font-display);font-size:26px;font-weight:800;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.roadmap .yr .ms{padding:8px 10px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);font-weight:700;font-size:13px}
.roadmap .pbox{padding:7px 9px;border-radius:9px;font-size:12px;border-left:3px solid var(--c);background:color-mix(in oklab,var(--c) 8%,transparent)}
.roadmap .pbox b{display:block;color:var(--c);font-size:11px;text-transform:uppercase;letter-spacing:.06em}

/* ---------- kanban ---------- */

/* ---------- DAP ---------- */

/* ---------- TOWS ---------- */
.tows{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.tows .cell{padding:12px;border-radius:14px;border:1px solid color-mix(in oklab,var(--c) 35%,transparent);background:color-mix(in oklab,var(--c) 8%,transparent);display:flex;flex-direction:column;gap:6px;min-width:0}
.tows .cell h4{color:var(--c);font-size:13.5px;display:flex;justify-content:space-between;align-items:center}
.tows .cell h4 small{font-weight:500;color:var(--ink-3);font-size:11px}
.tows .corner{background:linear-gradient(135deg,var(--accent),var(--accent-3));color:#fff;border:none}
.tows .corner b{font-family:var(--font-display);display:block}
.list-edit{display:flex;flex-direction:column;gap:5px}
.list-edit .li{display:flex;gap:6px;align-items:flex-start;font-size:12.8px}
.list-edit .li .n{width:20px;height:20px;border-radius:50%;background:var(--c,var(--accent));color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;flex:none;margin-top:2px}
.list-edit .li .t{flex:1;min-width:0}
.list-edit .li .x{opacity:0;border:none;background:none;cursor:pointer;color:var(--bad);font-weight:800}
.list-edit .li:hover .x{opacity:1}
.list-edit .add{display:flex;gap:6px}
.list-edit .add input{flex:1;padding:6px 9px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);min-width:0}

/* ---------- PESTEL ---------- */
.pestel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.pestel .col{display:flex;flex-direction:column;gap:8px;min-width:0}
.pestel .ph{padding:12px;border-radius:14px;color:#fff;background:linear-gradient(160deg,var(--c),color-mix(in oklab,var(--c) 65%,#000));box-shadow:0 14px 30px -14px var(--c)}
.pestel .ph .L{font-family:var(--font-display);font-size:34px;font-weight:900;line-height:1}
.pestel .ph b{display:block;font-size:13px}
.pestel .ph small{font-size:11px;opacity:.9}
.pestel .pb{padding:10px;border-radius:12px;background:color-mix(in oklab,var(--c) 8%,transparent);border:1px solid color-mix(in oklab,var(--c) 30%,transparent);flex:1}
.pestel .pb h5{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}

/* ---------- budget ---------- */
.budget-hero{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}
.big-rp{font-family:var(--font-display);font-size:clamp(26px,3.4vw,40px);font-weight:800;line-height:1.05}
.split{display:flex;gap:4px;height:14px;border-radius:999px;overflow:hidden}
.split i{display:block;height:100%}

/* ---------- modal & toast ---------- */
.modal-bg{position:fixed;inset:0;z-index:50;background:rgba(5,8,20,.55);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:fade .2s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{width:min(640px,100%);max-height:92vh;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:12px;animation:pop .25s cubic-bezier(.2,.8,.2,1)}
.modal.wide{width:min(900px,100%)}
@keyframes pop{from{transform:scale(.96) translateY(8px);opacity:0}to{transform:none;opacity:1}}
.modal h3{font-size:18px}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form .full{grid-column:1/-1}
.toast{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:60;padding:12px 16px;border-radius:14px;background:var(--ink);color:var(--bg);font-weight:700;box-shadow:var(--shadow);animation:pop .25s;max-width:min(420px,90vw)}
.toast.bad{background:var(--bad);color:#fff}

/* ---------- settings ---------- */
.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.theme-opt{padding:10px;border-radius:14px;border:2px solid var(--line);cursor:pointer;display:flex;flex-direction:column;gap:8px;background:var(--panel-2)}
.theme-opt.active{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 20%,transparent)}
.theme-opt .sw{height:38px;border-radius:9px;background:linear-gradient(135deg,var(--a),var(--b),var(--d))}
.theme-opt b{font-size:12.5px}
.preview-logo{width:84px;height:84px;border-radius:18px;border:1px solid var(--line);background:var(--panel-2);display:grid;place-items:center;overflow:hidden}
.preview-logo img{max-width:100%;max-height:100%;object-fit:contain}
.perm-table td:first-child{font-weight:700}
.check{color:var(--good);font-weight:800}.cross{color:var(--ink-3)}

/* ---------- step hero on pages ---------- */
.page-hero{display:flex;align-items:center;gap:18px;padding:18px 22px;overflow:hidden}
.page-hero .big{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:26px;color:#fff;background:linear-gradient(135deg,var(--c,var(--accent)),color-mix(in oklab,var(--c,var(--accent)) 60%,var(--accent-3)));box-shadow:0 16px 40px -14px var(--c,var(--accent));flex:none;transform:rotate(-6deg)}
.page-hero h2{font-size:22px;font-weight:800}
.page-hero p{margin:2px 0 0;color:var(--ink-2);font-size:13.5px;max-width:70ch}
.page-hero .orbit{position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;border:1px solid var(--line);pointer-events:none}
.page-hero .orbit::after{content:"";position:absolute;inset:30px;border-radius:50%;border:1px dashed var(--line)}

/* ---------- responsive ---------- */
@media (max-width:1100px){.journey{grid-template-columns:repeat(3,minmax(0,1fr))}.journey .step .chev{display:none}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.pestel{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap .yr{transform:none}.budget-hero{grid-template-columns:1fr}}
@media (max-width:860px){
  #app{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:272px;z-index:40;transform:translateX(-100%);transition:transform .25s}
  .sidebar.open{transform:none}
  .scrim{display:block;position:fixed;inset:0;z-index:39;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .25s}
  .scrim.show{opacity:1;pointer-events:auto}
  .burger{display:inline-flex}
  .login-wrap{grid-template-columns:1fr}
  .g2,.g3,.g4,.tows,.form{grid-template-columns:1fr}
  
  .phase{grid-template-columns:1fr}
  .content{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .topbar{padding-left:max(16px,env(safe-area-inset-left,0px))}
  .pestel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:480px){.journey{grid-template-columns:repeat(2,minmax(0,1fr))}.pestel{grid-template-columns:1fr}.login-hero{padding:24px}.login-card{padding:24px}}

/* ---------- ikon ---------- */
.ico-svg{vertical-align:-3px;flex:none}
.nav a .ic .ico-svg{width:15px;height:15px}
.phase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.phase>div{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:800;color:var(--ink);background:linear-gradient(90deg,color-mix(in oklab,var(--c) 22%,transparent),transparent);border:1px solid color-mix(in oklab,var(--c) 35%,var(--line))}
.phase>div>.ico-svg{color:var(--c);width:22px;height:22px}
.phase>div span{display:block;font-weight:500;color:var(--ink-2);font-size:11.5px}
.legend{font-size:12px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px}
.legend .arr{width:26px;height:2px;background:var(--accent);position:relative;display:inline-block}
.legend .arr::after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left:7px solid var(--accent)}

/* ---------- appraisal ---------- */
.appr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.appr{display:flex;flex-direction:column}
.appr-top{display:flex;gap:10px;align-items:center}
.grade{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:20px;color:#fff;background:var(--c);box-shadow:0 10px 24px -10px var(--c);flex:none}
.appr-items{display:flex;flex-direction:column;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.appr-items .ai{display:flex;gap:8px;align-items:center;font-size:12.5px}
.appr-items .ai .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;height:110px}
.dist-col{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}
.dist-bar{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}
.dist-bar i{display:block;width:60%;border-radius:6px 6px 2px 2px;transition:height .6s}

/* ---------- core values & KBI ---------- */
.cv-row{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.cv-code,.vc-letter{width:30px;height:30px;border-radius:9px;background:var(--c);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:14px;flex:none;box-shadow:0 8px 18px -8px var(--c)}
.values-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
.value-card{border-top:4px solid var(--c)}
.vc-head{display:flex;gap:10px;align-items:flex-start}
.vc-head .vc-letter{width:44px;height:44px;font-size:22px;border-radius:13px}
.vc-head b{font-family:var(--font-display);font-size:16px}
.dd{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.dd>div{padding:10px;border-radius:12px;font-size:12.5px}
.dd .do{background:color-mix(in oklab,var(--good) 10%,transparent);border:1px solid color-mix(in oklab,var(--good) 30%,transparent)}
.dd .dont{background:color-mix(in oklab,var(--bad) 9%,transparent);border:1px solid color-mix(in oklab,var(--bad) 30%,transparent)}
.dd b{display:flex;align-items:center;gap:5px;font-size:11px;letter-spacing:.1em;margin-bottom:4px}
.dd .do b{color:var(--good)}.dd .dont b{color:var(--bad)}
.dd ul{margin:0;padding-left:16px;line-height:1.5}
.kbi-scale{display:flex;flex-wrap:wrap;gap:6px;font-size:11.5px;color:var(--ink-2)}
.kbi-scale span{padding:3px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line)}
.kbi-scale b{color:var(--accent)}
.kbi-form{display:flex;flex-direction:column;gap:10px}
.kbi-item{padding:10px 12px;border-radius:12px;border:1px solid color-mix(in oklab,var(--c) 35%,transparent);background:color-mix(in oklab,var(--c) 6%,transparent);display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center}
.ki-head{display:flex;gap:10px;align-items:center}
.ki-guide{grid-column:1;display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--ink-2)}
.ki-guide .do{color:var(--good)}.ki-guide .dont{color:var(--bad)}
.ki-scale{grid-column:2;grid-row:1/span 2;display:flex;gap:4px}
.ki-scale label{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);display:grid;place-items:center;font-weight:800;cursor:pointer;transition:all .15s}
.ki-scale label input{display:none}
.ki-scale label:hover{border-color:var(--c)}
.ki-scale label.on{background:var(--c);color:#fff;border-color:transparent;transform:scale(1.08);box-shadow:0 8px 18px -8px var(--c)}
.comp{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:3px 0}
.comp-l{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comp-l i{width:8px;height:8px;border-radius:50%;flex:none}
.kbi-dots{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:8px}
.kd{width:26px;height:26px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),color-mix(in oklab,var(--line) 70%,transparent) 0);display:grid;place-items:center;position:relative}
.kd::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--panel)}
.kd b{position:relative;z-index:1;font-size:9.5px}
.formula{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:10px 12px;border-radius:12px;background:color-mix(in oklab,var(--accent) 10%,transparent);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);font-size:12.5px;margin-top:10px}
@media (max-width:860px){.values-grid{grid-template-columns:1fr}.dd{grid-template-columns:1fr}.kbi-item{grid-template-columns:1fr}.ki-scale{grid-column:1;grid-row:auto}}

/* ---------- BMW, undangan DAP, persetujuan, alur budaya ---------- */
.bmw{display:grid;grid-template-columns:1fr;gap:3px;margin-top:4px;padding-top:6px;border-top:1px dashed var(--line);font-size:11.5px}
.bmw>div{display:flex;gap:7px;align-items:flex-start;min-width:0}
.bmw b{width:18px;height:18px;border-radius:6px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:10px;flex:none}
.bmw>div:nth-child(2) b{background:var(--lrn)}.bmw>div:nth-child(3) b{background:var(--int)}
.bmw span{min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--ink-2)}
.inv-tag{display:inline-flex;gap:3px;align-items:center;font-size:10px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}
.inv-list{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:4px;border:1px solid var(--line);border-radius:12px}
.inv-div>b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--c);padding:4px 6px}
.inv-item{display:flex;gap:8px;align-items:center;padding:5px 6px;border-radius:9px;cursor:pointer}
.inv-item:hover{background:color-mix(in oklab,var(--accent) 10%,transparent)}
.inv-item input{accent-color:var(--accent)}
td.pend{background:color-mix(in oklab,var(--warn) 12%,transparent)}
.appr-row{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.cflow{display:flex;flex-direction:column;gap:8px}
.cf-row{display:grid;grid-template-columns:150px 22px 1.4fr 22px 1fr 22px 170px;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:color-mix(in oklab,var(--c) 6%,transparent);border:1px solid color-mix(in oklab,var(--c) 25%,transparent)}
.cf-val{display:flex;gap:8px;align-items:center;min-width:0}
.cf-val b{font-family:var(--font-display);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-arrow{color:var(--c);display:grid;place-items:center}
.cf-def{font-size:12px;color:var(--ink-2);line-height:1.35;min-width:0}
.cf-coc{font-size:11.5px;min-width:0;display:flex;flex-direction:column;gap:2px}
.cf-coc .do{color:var(--good);font-weight:700}.cf-coc .dont{color:var(--bad);font-weight:700}
.cf-kbi{min-width:0}
@media (max-width:1100px){.cf-row{grid-template-columns:1fr 1fr;gap:6px}.cf-arrow{display:none}.cf-def{grid-column:1/-1}}

.journey.j4{grid-template-columns:repeat(4,minmax(0,1fr))}
.journey.jv{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1100px){.journey.j4{grid-template-columns:repeat(2,minmax(0,1fr))}.journey.jv{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:480px){.journey.jv{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- lampiran bukti ---------- */
.ev{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2)}
.ev-meta .tiny{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ev-head b{display:flex;gap:6px;align-items:center;font-size:13px}
.ev-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.ev-item{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;background:var(--panel);border:1px solid var(--line);min-width:0}
.ev-thumb{width:48px;height:48px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:color-mix(in oklab,var(--accent) 12%,transparent);color:var(--accent);flex:none}
.ev-thumb img{width:100%;height:100%;object-fit:cover}
.ev-meta{flex:1;min-width:0}
.ev-name{font-weight:700;font-size:12.5px;color:var(--ink);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev-name:hover{color:var(--accent);text-decoration:underline}
.ev-note-t{font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev-drop{display:flex;gap:12px;align-items:center;padding:14px;border:2px dashed var(--line);border-radius:12px;cursor:pointer;color:var(--ink-2);transition:border-color .2s,background .2s}
.ev-drop:hover,.ev-drop.over{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,transparent);color:var(--ink)}
.ev-drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.ev-drop>.ico-svg{color:var(--accent)}
.ev-row{display:grid;grid-template-columns:2fr 1.3fr auto;gap:8px}
.ev-btn{padding:4px 8px}
.att-badge{display:inline-flex;align-items:center;gap:2px;margin-left:4px;padding:0 5px;border-radius:999px;background:color-mix(in oklab,var(--good) 22%,transparent);color:var(--good);font-size:10px;font-weight:800;vertical-align:1px}
@media (max-width:860px){.ev-row{grid-template-columns:1fr}}

/* ---------- masuk / daftar / setup awal ---------- */
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}
.auth-tabs button{border:0;background:transparent;padding:9px 10px;border-radius:9px;font-weight:800;color:var(--ink-2);cursor:pointer}
.auth-tabs button.active{background:linear-gradient(135deg,var(--accent),color-mix(in oklab,var(--accent) 60%,var(--accent-3)));color:#fff;box-shadow:0 8px 20px -10px var(--accent)}
.login-card .form{gap:10px}
.login-card a{font-weight:700}
.signup-done{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.signup-done .sd-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;background:var(--good);box-shadow:0 12px 26px -12px var(--good)}
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--warn);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.nav a .nav-badge+.step,.nav a .step+.nav-badge{margin-left:6px}
.pend-card{border-color:color-mix(in oklab,var(--warn) 45%,var(--line))}
.pend-row{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr)) minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px 0;border-top:1px solid var(--line)}
.pend-who{min-width:0;align-self:center}
.pf{display:flex;flex-direction:column;gap:4px;min-width:0}
.pf>span{font-size:11px;font-weight:700;color:var(--ink-3)}
.pf .input{padding:8px 10px}
.switch-row{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);cursor:pointer;font-size:13px}
.switch-row input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px}
@media (max-width:1100px){.pend-row{grid-template-columns:1fr 1fr}.pend-who{grid-column:1/-1}}
@media (max-width:480px){.pend-row{grid-template-columns:1fr}}

/* =====================================================================
   ARAH DAYA · komponen platform multi perusahaan, Strategic Map (lembar materi),
   Drill Down KPI, Kanban Board, DAP, appraisal tim
   ===================================================================== */
.code-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 7px;border-radius:7px;font-size:11.5px;font-weight:800;font-family:var(--font-display);background:var(--c,var(--accent));color:#fff;line-height:1.3;flex:none}
.clamp1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;min-width:0}
.clamp2{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.clamp3{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.page.no-anim{animation:none}
button.theme-opt{font:inherit;color:inherit;text-align:left}
.bar.thin{height:5px}
.split.thin{height:8px;gap:2px}
.grade.sm{width:26px;height:26px;font-size:13px;border-radius:8px;box-shadow:none}

/* merek Arah Daya */
.logo.ad-mark{border-radius:14px;display:grid;place-items:center;background:linear-gradient(140deg,#0b1f4d,#1d4ed8 60%,#0ea5e9);box-shadow:0 10px 30px -10px #1d4ed8;flex:none}
.brand .by-ad{display:flex;align-items:center;gap:5px}
.brand .by-ad .logo{width:14px!important;height:14px!important;border-radius:4px;box-shadow:none}
.brand .by-ad img{width:14px;height:14px;border-radius:4px;object-fit:contain;background:#fff}
.back-plat{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;font-size:12.5px;font-weight:800;text-decoration:none;color:var(--ink);background:color-mix(in oklab,var(--accent) 14%,transparent);border:1px dashed color-mix(in oklab,var(--accent) 50%,transparent)}
.back-plat:hover{background:color-mix(in oklab,var(--accent) 22%,transparent)}
.super-bar{position:sticky;top:61px;z-index:4;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 24px;font-size:12.5px;background:color-mix(in oklab,#0f172a 82%,var(--accent));color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,.08)}
.super-bar.viewing{background:linear-gradient(90deg,#92400e,#b45309)}
.super-bar .sb-t{flex:1;min-width:220px}
.super-bar .sb-sel{display:flex;align-items:center;gap:6px}
.super-bar .sb-sel .tiny{color:#cbd5e1}
.super-bar select.input{padding:6px 10px;width:auto;max-width:260px;background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25);font-size:12.5px}
.super-bar select.input option,.super-bar select.input optgroup{color:#0f172a}
.super-bar .btn{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.3)}
.hide-sm{}

/* halaman masuk */
.phase-mini{display:flex;flex-wrap:wrap;gap:8px}
.phase-mini span{padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:800;color:var(--c);border:1px solid color-mix(in oklab,var(--c) 45%,transparent);background:color-mix(in oklab,var(--c) 10%,transparent)}
.auth-tabs{flex-wrap:wrap}
.join-co{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line)}
.join-co .logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-3));overflow:hidden;flex:none}
.join-co .logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.join-co b{font-family:var(--font-display);font-size:16px}
.code-box{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px;border-radius:14px;border:2px dashed var(--accent);background:color-mix(in oklab,var(--accent) 8%,transparent)}
.code-box b{font-family:var(--font-display);font-size:30px;letter-spacing:.25em;color:var(--accent)}

/* dashboard */
.journey.j8{grid-template-columns:repeat(8,minmax(0,1fr))}
.risk-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.risk-row:hover{background:color-mix(in oklab,var(--accent) 6%,transparent)}
.mini-ini{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;font-size:13px;min-width:0}
.mini-ini .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.mission-box{padding:14px;border-radius:14px;border:1px solid color-mix(in oklab,var(--c) 35%,transparent);background:color-mix(in oklab,var(--c) 7%,transparent);display:flex;gap:12px}
.mission-box .mb-n{width:34px;height:34px;border-radius:10px;background:var(--c);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}

/* ---------- Current Strategic Map: lembar persis materi (selalu terang) ---------- */
.sm-tools{gap:10px}
.sheet-scroll{overflow-x:auto;border-radius:18px;padding-bottom:4px}
.sheet{--sh-ink:#0f1f3d;--sh-line:#dbe3ef;min-width:1060px;background:#fff;color:var(--sh-ink);border-radius:18px;padding:22px 24px 20px;box-shadow:0 30px 80px -40px rgba(10,20,60,.6);font-family:var(--font-body);position:relative}
.sheet.printing{width:1120px}
.sh-head{display:grid;grid-template-columns:1.25fr .78fr .78fr 1.5fr;gap:16px;align-items:stretch;margin-bottom:14px}
.sh-title h1{font-family:var(--font-display);font-size:25px;font-weight:800;color:#0b1f4d;line-height:1.15}
.sh-co{font-size:18px;color:#0b1f4d;margin-top:2px}
.sh-tag{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px;letter-spacing:.32em;color:#1d4ed8;font-weight:600}
.sh-tag i{display:block;width:44px;height:2px;background:#1d4ed8}
.sh-box{border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}
.sh-box .pill{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:999px;color:#fff;font-weight:800;font-size:12.5px}
.sh-box p{margin:0;font-family:var(--font-display);font-weight:700;font-size:14px;line-height:1.35;color:#0f1f3d}
.sh-box.cp{background:#fde7ee;border:1px solid #f7c4d3}.sh-box.cp .pill{background:#d6245a}
.sh-box.vi{background:#e3f2fb;border:1px solid #bfe0f4}.sh-box.vi .pill{background:#1e8bc3}
.sh-box.mi{background:#fdeef2;border:1px solid #f7c9d5;align-items:flex-start;text-align:left}.sh-box.mi .pill{background:#d6245a}
.sh-box ol{margin:0;padding-left:18px;font-size:10.5px;line-height:1.4;color:#1f2a44}
.sh-body{position:relative;display:grid;grid-template-columns:104px 196px 1fr;grid-template-rows:repeat(4,auto);column-gap:10px;row-gap:6px;padding-top:24px}
.sh-side{grid-column:1;grid-row:1/5;border-radius:12px;background:#0b1f4d;color:#fff;padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.sh-side>b{font-family:var(--font-display);font-size:17px;line-height:1.15}
.sh-side>span{font-size:14px;opacity:.9}
.sh-tema{margin-top:14px;background:#fff;color:#0f1f3d;border-radius:8px;padding:10px 9px;text-align:left}
.sh-tema b{display:block;font-size:11.5px;border-bottom:1px solid #e2e8f0;padding-bottom:5px;margin-bottom:6px}
.sh-tema p{margin:0;font-size:11.5px;line-height:1.45}
.sh-label{grid-column:2;border-radius:10px;background:var(--c);color:#fff;padding:12px;display:flex;align-items:center;gap:10px}
.sh-label .ic{flex:none;opacity:.95}
.sh-label b{display:block;font-family:var(--font-display);font-size:16px;line-height:1.1}
.sh-label small{display:block;font-size:11.5px;font-weight:700;margin-top:2px}
.sh-label em{display:block;font-style:normal;font-size:10.5px;line-height:1.35;margin-top:4px;opacity:.95}
.sh-lane{grid-column:3;border-radius:10px;background:var(--bg);display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:40px;padding:16px 18px;align-items:stretch;min-height:96px}
.sh-card{position:relative;z-index:2;background:#fff;border:1px solid var(--sh-line);border-radius:7px;box-shadow:0 2px 6px rgba(15,31,61,.08);display:flex;align-items:center;gap:8px;padding:11px 11px;min-height:72px;cursor:pointer;transition:transform .15s,box-shadow .2s,opacity .2s;outline:none}
.sh-card:hover,.sh-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px -12px var(--c),0 0 0 2px color-mix(in oklab,var(--c) 40%,transparent)}
.sh-card.dim{opacity:.35}
.sh-code{width:30px;height:30px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:12.5px;flex:none}
.sh-code.sm{width:auto;min-width:26px;height:22px;padding:0 6px;border-radius:11px;font-size:11px;display:inline-grid}
.sh-code.lg{width:46px;height:46px;font-size:17px}
.sh-ic{color:var(--c);flex:none;display:grid}
.sh-t{font-size:13px;line-height:1.3;color:#0f1f3d;font-weight:600}
.sh-pbar{position:absolute;left:8px;right:8px;bottom:4px;height:3px;border-radius:2px;background:#e2e8f0;overflow:hidden}
.sh-pbar::after{content:"";position:absolute;inset:0;width:calc(var(--p)*1%);max-width:100%;background:var(--c);border-radius:2px}
.sh-empty{grid-column:1/-1;display:grid;place-items:center;color:#64748b;font-size:12.5px}
.sh-empty .btn{background:#fff;color:#0f1f3d;border-color:#cbd5e1}
.sh-arrows{position:absolute;left:0;top:0;pointer-events:none;z-index:3;overflow:visible}
.sh-arrows path{fill:none;stroke:#1e293b;stroke-width:1.6;stroke-linejoin:round;transition:opacity .2s,stroke-width .2s}
.sh-arrows path.hot{stroke:var(--hot,#2f6bff);stroke-width:2.6}
.sh-arrows path.dim{opacity:.18}
.sh-arrows marker path{fill:#1e293b!important;stroke:none!important}
.sh-arrows #ah-hot path{fill:var(--hot,#2563eb)!important}
.sheet{--hot:#2563eb}
.sh-kpi{margin-top:12px}
.sh-kpi-bar{background:#0b1f4d;color:#fff;font-weight:800;font-size:13px;padding:6px 12px;border-radius:8px 8px 0 0}
.sh-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:6px}
.sh-kt{border:1px solid var(--sh-line);border-radius:8px;overflow:hidden}
.sh-kt-h{background:var(--c);color:#fff;font-weight:800;font-size:12px;padding:6px 10px}
.sh-kt table{font-size:11.5px;color:#0f1f3d}
.sh-kt th{color:#334155;font-size:10px;padding:5px 8px;border-bottom:1px solid var(--sh-line);text-transform:none;letter-spacing:0;background:#f8fafc}
.sh-kt td{padding:5px 8px;border-bottom:1px solid #eef2f7}
.sh-kt tr[data-kpi-link]{cursor:pointer}
.sh-kt tr[data-kpi-link]:hover td{background:var(--bg)}
.sh-kt td:last-child,.sh-kt th:last-child{text-align:right;white-space:nowrap}
@media print{
  @page{size:A4 landscape;margin:6mm}
  body{background:#fff!important}
  #mesh,#stars,#grid,.sidebar,.topbar,.super-bar,.sm-tools,.toast,.modal-bg{display:none!important}
  body *{visibility:hidden}
  .print-me,.print-me *{visibility:visible}
  .print-me{position:absolute;left:0;top:0;box-shadow:none;zoom:.9}
  .sheet-scroll{overflow:visible}
}

/* modal objective */
.om-head{display:flex;gap:12px;align-items:center}
.om-head h3{font-size:18px}
.om-links{display:flex;gap:16px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line)}
.om-links>div{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.om-kpi{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.icon-pick{display:flex;flex-wrap:wrap;gap:6px}
.icon-pick label{cursor:pointer}
.icon-pick input{position:absolute;opacity:0;pointer-events:none}
.icon-pick span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-2)}
.icon-pick input:checked+span{background:var(--accent);color:#fff;border-color:transparent}
.icon-pick input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.drives-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:320px;overflow:auto;padding:4px}
.dg-col{display:flex;flex-direction:column;gap:5px;padding:8px;border-radius:10px;border:1px solid color-mix(in oklab,var(--c) 35%,transparent);background:color-mix(in oklab,var(--c) 6%,transparent)}
.dg-col>b{color:var(--c);font-size:12px}
.dg-item{display:flex;gap:7px;align-items:flex-start;font-size:12px;cursor:pointer;padding:3px;border-radius:7px}
.dg-item:hover{background:color-mix(in oklab,var(--c) 12%,transparent)}
.dg-item input{margin-top:2px;accent-color:var(--c)}

/* ---------- Key KPI ---------- */
.kpi-table th{text-align:left;vertical-align:bottom}
.kpi-table th small{display:block;font-size:9.5px;letter-spacing:.02em;text-transform:none;color:var(--ink-3);font-weight:600}
.kpi-table th.c,.kpi-table td.c{text-align:center}
.kpi-table td{background:color-mix(in oklab,var(--c) 6%,transparent)}
.kt-persp{background:var(--c)!important;color:#fff;text-align:center;width:120px;border-radius:0;vertical-align:middle!important}
.kt-persp span{display:block;margin-bottom:6px}
.kt-persp b{display:block;font-family:var(--font-display);font-size:14px;line-height:1.1}
.kt-persp small{display:block;font-size:11px;opacity:.9}
.kt-code b{font-family:var(--font-display);color:var(--c);font-size:15px}
.kt-t{font-size:11.5px;color:var(--ink-3)}
.kt-a{font-weight:800}
.kt-target{font-family:var(--font-display);font-size:15px}
.kpi-table .cell-input{width:58px;text-align:center}
.kt-ach{display:flex;flex-direction:column;align-items:center;gap:2px}
.kt-owner{min-width:130px;max-width:170px}.kt-owner b{font-size:12.5px;display:block;line-height:1.25}
.kpi-table td{padding:8px 7px}.kpi-table th{padding:9px 7px}

/* ---------- toolbar KPI & judul gaya materi ---------- */
.pg-title h1{font-family:var(--font-display);font-size:clamp(22px,2.6vw,32px);font-weight:900;letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.pg-title .sh-co{color:var(--ink);font-size:17px;font-weight:700}
.pg-title .sh-tag{color:var(--accent);margin-top:8px}.pg-title .sh-tag i{background:var(--accent)}
.kt-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:14px}
.seg{display:inline-flex;padding:3px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line);gap:2px;flex-wrap:wrap}
.seg>button,.seg>a{border:0;background:transparent;padding:6px 12px;border-radius:9px;font-weight:800;font-size:12.5px;color:var(--ink-2);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.seg>.on{background:var(--accent);color:#fff;box-shadow:0 6px 16px -8px var(--accent)}

/* header KPI (Target / Actual / Keterangan) */
.kh{display:grid;grid-template-columns:minmax(240px,1.3fr) .8fr .8fr 1.6fr;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}
.kh-kpi{background:linear-gradient(135deg,var(--c),color-mix(in oklab,var(--c) 70%,#000));color:#fff;display:flex;align-items:center;gap:14px;padding:16px 18px}
.kh-kpi .kh-ic{opacity:.95;flex:none}
.kh-kpi b{display:block;font-family:var(--font-display);font-size:24px;line-height:1}
.kh-kpi span{display:block;font-family:var(--font-display);font-weight:800;font-size:17px;line-height:1.2;margin-top:2px}
.kh-kpi small{display:block;font-size:12.5px;opacity:.9}
.kh-cell{padding:12px;text-align:center;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;background:color-mix(in oklab,var(--cus) 7%,transparent)}
.kh-l{font-weight:800;font-size:13px;color:var(--ink)}
.kh-v{font-family:var(--font-display);font-weight:900;font-size:30px;line-height:1.15;color:var(--ink)}
.kh-s{font-size:12px;color:var(--ink-2)}
.kh-note{padding:14px 18px;border-left:1px solid var(--line);font-size:13.5px;color:var(--ink);display:flex;flex-direction:column;justify-content:center;background:color-mix(in oklab,var(--cus) 7%,transparent)}
.kh-link{height:18px;margin:-8px 0 -10px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);border-bottom-left-radius:8px;width:52%;margin-left:9%;opacity:.55}
.dap-kpi{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.dap-kpi .kh-ic{width:46px;height:46px;border-radius:10px;background:var(--c);color:#fff;display:grid;place-items:center}
.dap-kpi b{display:block;font-family:var(--font-display);font-size:18px;line-height:1}
.dap-kpi span{display:block;font-weight:800;font-size:13.5px}
.dap-kpi small{display:block;font-size:11px;color:var(--ink-2)}
.dk-c{text-align:center;padding-left:12px;border-left:1px solid var(--line)}
.dk-c b{font-size:22px}
.dap-top{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}

/* ---------- Drill Down KPI to Initiatives ---------- */
.drill{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}
.dr-head{display:grid;grid-template-columns:200px 70px 1fr;gap:4px;padding:4px;background:transparent}
.dr-head>div{background:linear-gradient(180deg,#14306e,#0b1f4d);color:#fff;border-radius:8px;padding:9px 12px;font-family:var(--font-display);font-weight:800;font-size:15px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.dr-head small{font-family:var(--font-body);font-weight:500;font-size:12px;opacity:.9}
.dr-group{display:grid;grid-template-columns:200px 1fr;gap:4px;padding:0 4px 4px}
.dr-owner{border-radius:8px;background:color-mix(in oklab,var(--cus) 9%,var(--panel));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 10px;text-align:center}
.dr-owner .dr-av{width:66px;height:66px;border-radius:50%;background:color-mix(in oklab,var(--cus) 22%,transparent);color:var(--cus);display:grid;place-items:center;margin-bottom:4px}
.dr-owner b{font-family:var(--font-display);font-size:16px;line-height:1.15}
.dr-owner span{font-size:13.5px;color:var(--ink-2)}
.dr-owner .tag{margin-top:6px}
.dr-rows{display:flex;flex-direction:column;gap:4px}
.dr-row{display:grid;grid-template-columns:66px 1fr;gap:4px;cursor:pointer}
.dr-row>.dr-no{border-radius:8px;background:color-mix(in oklab,var(--cus) 9%,var(--panel));display:grid;place-items:center}
.dr-no{position:relative;color:#fff;font-family:var(--font-display);font-weight:900;font-size:17px}
.dr-no::before{content:"";position:absolute;width:40px;height:40px;border-radius:50%;background:var(--c);box-shadow:0 8px 18px -8px var(--c);z-index:0;left:50%;top:50%;transform:translate(-50%,-50%)}
.dr-no>*,.dr-no{z-index:1}
.dr-no{isolation:isolate}
.dr-no::before{z-index:-1}
.dr-body{border-radius:8px;background:color-mix(in oklab,var(--cus) 9%,var(--panel));padding:9px 14px;min-width:0;transition:background .2s}
.dr-row:hover .dr-body,.dr-row:focus-visible .dr-body{background:color-mix(in oklab,var(--cus) 16%,var(--panel))}
.dr-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
.dr-body b{font-family:var(--font-display);font-size:15px;color:var(--ink)}
.dr-body p{margin:1px 0 0;font-size:13px;color:var(--ink-2)}
.dr-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:6px;font-size:11.5px;color:var(--ink-3)}
.dr-meta>span{display:inline-flex;gap:4px;align-items:center;min-width:0;max-width:100%}
.dr-meta .clamp1{max-width:340px}

/* ---------- Kanban Board ---------- */
.kb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.kb-col{border-radius:16px;background:color-mix(in oklab,var(--c) 10%,var(--panel));border:1px solid color-mix(in oklab,var(--c) 22%,transparent);display:flex;flex-direction:column;min-height:280px;transition:box-shadow .2s,background .2s}
.kb-col.over{box-shadow:0 0 0 3px var(--c),0 20px 50px -20px var(--c);background:color-mix(in oklab,var(--c) 18%,var(--panel))}
.kb-h{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:15px 15px 12px 12px;background:linear-gradient(135deg,var(--c),color-mix(in oklab,var(--c) 72%,#fff));color:#fff;box-shadow:0 10px 24px -14px var(--c)}
.kb-h b{font-family:var(--font-display);font-size:18px;flex:1}
.kb-ic{display:grid}
.kb-n{min-width:38px;height:30px;padding:0 10px;border-radius:9px;background:rgba(255,255,255,.88);color:var(--c);display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:16px}
.kb-list{display:flex;flex-direction:column;gap:10px;padding:10px;flex:1}
.kb-empty{display:none;padding:18px;text-align:center;color:var(--ink-3);font-size:12.5px;border:2px dashed color-mix(in oklab,var(--c) 30%,transparent);border-radius:12px}
.kb-list .kb-empty:only-child{display:block}
.kb.dragging .kb-col[data-st="done"] .kb-empty{display:block}
.kb.dragging .kb-col .kb-list .kb-card~.kb-empty{display:none}
.kb-card{position:relative;display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:start;padding:12px 10px 12px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 18px -12px rgba(10,20,60,.4);cursor:grab;transition:transform .15s,box-shadow .2s,opacity .2s;user-select:none;-webkit-user-select:none}
.kb-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px -16px var(--c,var(--accent))}
.kb-card[data-can="0"]{cursor:pointer}
.kb-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.kb-card.done .kb-body b{text-decoration:line-through;text-decoration-color:color-mix(in oklab,var(--good) 60%,transparent)}
.kb-chk{display:grid;place-items:center;padding-top:9px;cursor:pointer}
.kb-chk input{width:18px;height:18px;accent-color:var(--good);cursor:pointer}
.kb-no{width:38px;height:38px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:17px;box-shadow:0 8px 18px -8px var(--c);flex:none}
.kb-no.sm{width:24px;height:24px;font-size:11.5px}
.kb-no.lg{width:50px;height:50px;font-size:20px}
.kb-body{min-width:0}
.kb-body b{font-family:var(--font-display);font-size:14px;line-height:1.25;color:var(--ink)}
.kb-body p{margin:3px 0 0;font-size:12.5px;line-height:1.4;color:var(--ink-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.kb-meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin-top:7px;font-size:11.5px;color:var(--ink-3)}
.kb-meta>span{display:inline-flex;gap:4px;align-items:center}
.kb-meta .late{color:var(--bad);font-weight:700}
.kb-pic{width:20px;height:20px;border-radius:6px;background:var(--accent);color:#fff;font-size:9px;font-weight:800;display:grid!important;place-items:center}
.kb-body .bar{margin-top:6px}
.kb-grip{color:var(--ink-3);padding:4px 2px;cursor:grab;touch-action:none;display:grid}
.kb-ghost{position:fixed;left:0;top:0;z-index:80;pointer-events:none;box-shadow:0 30px 60px -20px rgba(10,20,60,.55);opacity:.96;transition:none}
.kb-placeholder{opacity:.35;border-style:dashed}
.kb-quick{padding:0 10px 10px}
.kb-quick .input{background:var(--panel);border-style:dashed}
.kb-pop{animation:kbpop .6s cubic-bezier(.2,.8,.2,1)}
.kb-pop::after{content:"";position:absolute;inset:-6px;border-radius:16px;border:3px solid var(--good);animation:kbring .7s ease-out forwards;pointer-events:none}
@keyframes kbpop{0%{transform:scale(.96)}45%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes kbring{from{opacity:1;transform:scale(.98)}to{opacity:0;transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.kb-pop,.kb-pop::after{animation:none}}
.impact{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.imp{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}
.imp-score{display:flex;flex-direction:column;align-items:center;gap:3px}
.imp-score b{font-family:var(--font-display);font-size:18px}
.bmw-h{margin-top:4px}

/* ---------- Daily Activity Plan ---------- */
.dap-wrap{display:grid;grid-template-columns:236px 1fr;gap:12px;align-items:start}
.dap-inis{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);position:sticky;top:120px}
.di-h{background:linear-gradient(180deg,#14306e,#0b1f4d);color:#fff;padding:10px 14px}
.di-h b{display:block;font-family:var(--font-display);font-size:16px}
.di-h span{font-size:12.5px;opacity:.9}
.di{display:flex;gap:10px;padding:10px 12px;border-top:1px solid var(--line);background:color-mix(in oklab,var(--c) 6%,transparent)}
.di .dn{width:38px;height:38px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:17px;flex:none;box-shadow:0 6px 14px -6px var(--c)}
.di b{font-family:var(--font-display);font-size:13.5px;line-height:1.2;display:block}
.di p{margin:2px 0 4px;font-size:11.5px;color:var(--ink-2);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dap-grid-wrap{border-radius:16px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);padding:8px;min-width:0}
.dap2{display:grid;grid-template-columns:88px repeat(6,minmax(112px,1fr));gap:3px;min-width:780px}
.dap2 .dh{padding:9px 6px;border-radius:9px 9px 4px 4px;text-align:center;font-family:var(--font-display);font-weight:800;color:#fff;font-size:15px;background:var(--c)}
.dap2 .dh.time{background:linear-gradient(180deg,#14306e,#0b1f4d)}
.dap2 .th{font-size:11.5px;color:var(--ink-2);font-weight:700;padding:6px 4px;text-align:center;display:grid;place-items:center;border-radius:6px;background:color-mix(in oklab,var(--cus) 7%,transparent)}
.dap2 .slot{min-height:38px;border-radius:6px;padding:3px 4px;display:flex;flex-direction:column;gap:3px;cursor:pointer;background:color-mix(in oklab,var(--c) 8%,transparent);transition:background .15s}
.dap2 .slot:hover{background:color-mix(in oklab,var(--c) 18%,transparent)}
.dap2 .slot.break{background:color-mix(in oklab,var(--ink-3) 16%,transparent);display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--ink-2);cursor:default}
.dap2 .act{display:flex;gap:6px;align-items:center;padding:3px 4px;border-radius:6px;font-size:11.5px;line-height:1.25;color:var(--ink)}
.dap2 .act:hover{background:color-mix(in oklab,var(--c) 14%,var(--panel))}
.dap2 .act .an{width:22px;height:22px;border-radius:6px;background:var(--c);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:12px;flex:none}
.dap2 .act .at{min-width:0}
.dap2 .act .ok{font-style:normal;color:var(--good);font-weight:900;margin-left:4px;font-size:10px}
.dap2 .act.missed .at{text-decoration:line-through;color:var(--bad)}
.dap2 .act.invited{border-left:2px dashed var(--accent);background:color-mix(in oklab,var(--accent) 8%,transparent)}
.inv-dots{display:inline-flex;gap:2px;vertical-align:middle}
.inv-dots i{width:7px;height:7px;border-radius:50%;display:inline-block}
.att-badge{display:inline-flex;gap:2px;align-items:center;margin-left:4px;font-size:10px;font-weight:800;color:var(--accent)}

/* ---------- Weekly Check-In ---------- */
.ck-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cks{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border-radius:12px;text-decoration:none;color:var(--ink);background:color-mix(in oklab,var(--c) 12%,transparent);border:1px solid color-mix(in oklab,var(--c) 28%,transparent)}
.cks>.ico-svg{color:var(--c)}
.cks b{font-family:var(--font-display);font-size:24px;line-height:1}
.cks span{font-size:11.5px;font-weight:700;color:var(--ink-2)}
.ck-row{padding:7px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:8px;font-size:13px}
.ck-row>b{font-size:12px}

/* ---------- Appraisal tim ---------- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.team-card{padding:12px;border-radius:14px;border:1px solid color-mix(in oklab,var(--c) 35%,transparent);background:color-mix(in oklab,var(--c) 7%,var(--panel-2))}
.team-card>.row b{font-family:var(--font-display)}
.ini-strip{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.ini-strip>span{width:16px;height:16px;border-radius:5px;background:var(--c);opacity:.9}
.ini-strip>b{margin-left:auto;font-family:var(--font-display)}
.ini-log{font-size:12px}
.ini-log summary{cursor:pointer}

/* ---------- Platform Super Admin ---------- */
.co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.co-card{display:flex;flex-direction:column;gap:10px}
.co-card.suspended{opacity:.7}
.co-top{display:flex;gap:12px;align-items:center}
.co-top .logo,.code-card .logo{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-3));overflow:hidden;flex:none}
.co-top .logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.co-top b{font-family:var(--font-display);font-size:16px}
.co-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.co-stats>div{padding:8px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);text-align:center}
.co-stats b{display:block;font-family:var(--font-display);font-size:17px}
.co-stats span{font-size:10.5px;color:var(--ink-3);font-weight:700}
.co-stats em{color:var(--warn);font-style:normal}
.code{letter-spacing:.14em;font-family:var(--font-display)}
.code-card{display:flex;gap:12px;align-items:center;--c:var(--accent)}
.code-card>div:first-child{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent);flex:none}
.code-card .code{font-size:18px;color:var(--accent)}
.code-big{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.code-big>span{font-family:var(--font-display);font-size:28px;font-weight:900;letter-spacing:.25em;color:var(--accent);padding:4px 14px;border-radius:12px;border:2px dashed var(--accent)}
.nav-badge.static{display:inline-grid;margin-left:4px}

@media (max-width:1100px){
  .journey.j8{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kh{grid-template-columns:1fr 1fr}.kh-kpi{grid-column:1/-1}.kh-note{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
  .dap-wrap{grid-template-columns:1fr}.dap-inis{position:static}
}
@media (max-width:860px){
  .super-bar{top:57px;padding:8px 16px}
  .hide-sm{display:none!important}
  .kb{grid-template-columns:1fr}
  .dr-head{grid-template-columns:70px 1fr}.dr-head>div:first-child{display:none}
  .dr-group{grid-template-columns:1fr}.dr-owner{flex-direction:row;justify-content:flex-start;padding:10px;text-align:left;flex-wrap:wrap}.dr-owner .dr-av{width:40px;height:40px;margin:0}
  .dr-row{grid-template-columns:54px 1fr}
  .ck-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ck-row{grid-template-columns:1fr}
  .co-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .drives-grid{grid-template-columns:1fr}
  .dap-top{align-items:flex-start}
}
@media (max-width:480px){
  .journey.j8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kh{grid-template-columns:1fr}.kh-cell{border-left:0;border-top:1px solid var(--line)}
  .co-grid{grid-template-columns:1fr}
  .dap-kpi{flex-wrap:wrap}
}
a.btn{text-decoration:none}
#ks-kpi{flex:1 1 240px;min-width:0}
@media (max-width:860px){
  .super-bar{position:static}
  .kt-bar>.row{width:100%}
  .kt-bar select.input,.kt-bar input[type=date]{flex:1 1 100%;width:100%!important;max-width:none}
  .kt-bar>.seg,.kt-bar>.btn{flex:1 1 auto}
  .topbar .crumb{display:none}
}
.modal>*{flex-shrink:0}

/* pencapaian berjenjang */
.cascade-note{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:8px 12px;border-radius:10px;background:var(--panel-2);border:1px dashed var(--line);line-height:1.5}
.cascade-note>.ico-svg{flex:none;margin-top:2px;color:var(--accent)}
.five-yr .fy-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;margin-top:8px}
.fy-b{position:relative;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);overflow:hidden}
.fy-b i{position:absolute;left:0;bottom:0;height:4px;width:calc(var(--p)*1%);background:var(--accent)}
.fy-b span{font-size:11px;color:var(--ink-3);font-weight:700}
.fy-b b{font-family:var(--font-display);font-size:17px}
.fy-b.current{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 25%,transparent)}
.fy-b.future{opacity:.55}
.yr-ach{display:flex;justify-content:space-between;align-items:center;gap:8px}
.yr-ach b{font-family:var(--font-display);font-size:20px}
.roadmap .yr.future{opacity:.72}
.roadmap .yr.current{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 45%,transparent),var(--shadow)}
.sh-ach{margin-top:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:8px 9px;display:flex;flex-direction:column;gap:3px;text-align:left;position:relative;overflow:hidden}
.sh-ach small{font-size:10.5px;opacity:.85;line-height:1.3}
.sh-ach b{font-family:var(--font-display);font-size:24px;line-height:1}
.sh-ach i{display:block;height:4px;border-radius:2px;background:rgba(255,255,255,.2);position:relative}
.sh-ach i::after{content:"";position:absolute;inset:0;width:calc(var(--p)*1%);background:#4ade80;border-radius:2px}
