/* Scanner layar penuh — Ixia Digital Solution */
#ixiaScanner{position:fixed;inset:0;z-index:10000;background:#000;color:#fff;display:none;overflow:hidden;
  height:100vh;height:100dvh;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:var(--font-main,system-ui,sans-serif)}
#ixiaScanner.open{display:block;animation:iscIn .25s ease}
@keyframes iscIn{from{opacity:0}to{opacity:1}}
#ixiaScanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#05070f}
.isc-top{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 26px;background:linear-gradient(180deg,rgba(5,8,20,.92),rgba(5,8,20,.55) 60%,transparent)}
.isc-brand{display:flex;align-items:center;gap:11px;min-width:0}
.isc-logo{width:44px;height:44px;border-radius:12px;flex:0 0 auto;background:#0b1224;box-shadow:0 4px 16px rgba(0,0,0,.45),0 0 0 1.5px rgba(255,255,255,.18);object-fit:cover}
.isc-brand-text{min-width:0;line-height:1.2}
.isc-brand-name{font-weight:800;font-size:1rem;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  background:linear-gradient(90deg,#fff,#fde68a);-webkit-background-clip:text;background-clip:text;color:transparent}
.isc-brand-sub{font-size:.7rem;color:rgba(255,255,255,.72);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isc-btn{appearance:none;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.22);width:46px;height:46px;border-radius:50%;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center;transition:.18s}
.isc-btn:active{transform:scale(.92)}.isc-btn.on{background:#f59e0b;border-color:#fbbf24;color:#1a1200}
.isc-btn[hidden]{display:none}

/* Kotak scan: tepat di tengah layar (horizontal & vertikal), tidak terpengaruh header/footer */
.isc-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:min(84vw,360px);height:min(50vw,210px);border-radius:20px;pointer-events:none;
  box-shadow:0 0 0 100vmax rgba(4,8,22,.62),inset 0 0 0 1px rgba(255,255,255,.18);transition:box-shadow .2s}
.isc-box i{position:absolute;width:34px;height:34px;border:4px solid #fbbf24;filter:drop-shadow(0 0 6px rgba(251,191,36,.6))}
.isc-box i:nth-child(1){left:-2px;top:-2px;border-right:0;border-bottom:0;border-top-left-radius:20px}
.isc-box i:nth-child(2){right:-2px;top:-2px;border-left:0;border-bottom:0;border-top-right-radius:20px}
.isc-box i:nth-child(3){left:-2px;bottom:-2px;border-right:0;border-top:0;border-bottom-left-radius:20px}
.isc-box i:nth-child(4){right:-2px;bottom:-2px;border-left:0;border-top:0;border-bottom-right-radius:20px}
.isc-laser{position:absolute;left:8px;right:8px;top:8%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#ef4444 25%,#fb7185 50%,#ef4444 75%,transparent);
  box-shadow:0 0 14px 2px rgba(239,68,68,.75);animation:iscLaser 1.9s ease-in-out infinite}
@keyframes iscLaser{0%,100%{top:8%}50%{top:90%}}
.isc-box.ok{box-shadow:0 0 0 100vmax rgba(4,30,16,.7),inset 0 0 0 3px #22c55e}
.isc-box.ok i{border-color:#22c55e;filter:drop-shadow(0 0 8px rgba(34,197,94,.8))}
.isc-box.ok .isc-laser{display:none}
.isc-chip{position:absolute;left:50%;top:calc(50% - min(25vw,105px) - 54px);transform:translateX(-50%);z-index:3;max-width:90vw;
  padding:8px 16px;border-radius:999px;background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-weight:700;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isc-bottom{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:34px 16px calc(env(safe-area-inset-bottom,0px) + 18px);text-align:center;
  background:linear-gradient(0deg,rgba(5,8,20,.94),rgba(5,8,20,.6) 62%,transparent)}
.isc-hint{font-size:.86rem;color:rgba(255,255,255,.88);font-weight:600;margin-bottom:14px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.isc-actions{display:flex;justify-content:center;align-items:center;gap:16px}
.isc-manual{display:none;max-width:360px;margin:0 auto 14px;gap:8px}
.isc-manual.show{display:flex}
.isc-manual input{flex:1;min-width:0;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:rgba(8,14,32,.8);color:#fff;font-size:1rem;font-weight:700;letter-spacing:.04em}
.isc-manual button{padding:0 18px;border:0;border-radius:12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1200;font-weight:800;cursor:pointer}
.isc-msg{position:absolute;inset:0;z-index:4;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:30px;background:rgba(5,8,20,.94)}
.isc-msg.show{display:flex}
.isc-msg i.big{font-size:2.6rem;color:#fbbf24}
.isc-msg p{max-width:320px;font-size:.92rem;line-height:1.6;color:rgba(255,255,255,.85)}
.isc-msg button.pri{padding:12px 22px;border:0;border-radius:12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1200;font-weight:800;font-size:.95rem;cursor:pointer}
.isc-msg button.sec{padding:10px 18px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:transparent;color:#fff;font-weight:700;cursor:pointer}
@media (max-height:520px){.isc-chip{display:none}.isc-box{height:min(34vh,150px)}}
@media (prefers-reduced-motion:reduce){.isc-laser{animation:none;top:50%}#ixiaScanner.open{animation:none}}
