.card{position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);
  overflow:hidden}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#60A5FA,var(--blue),#1E3A8A)}
.card--stage::before{background:linear-gradient(90deg,#34D399,#60A5FA,
  var(--blue))}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand__logo{width:auto;flex:none}
.brand__txt{min-width:0;line-height:1.25}
.brand__txt b{display:block;font-size:var(--fs-md);font-weight:800;
  color:#1E3A8A;white-space:nowrap}
.brand__txt span{display:block;font-size:var(--fs-xs);color:var(--mute);
  white-space:nowrap}
.brand__txt span:empty{display:none}
.bar__in .brand{flex:none}
.bar__in .brand__txt{display:none}

.bar{position:sticky;top:0;z-index:20;
  background:linear-gradient(180deg,rgba(255,255,255,.9),
  rgba(239,246,255,.72));backdrop-filter:blur(16px) saturate(1.35);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(255,255,255,.6)}
.bar__in{display:flex;align-items:center;gap:10px;padding:10px 24px;
  max-width:var(--shellMax);margin:0 auto}
.bar__id{flex:1;min-width:0}
.bar__id b{display:block;font-size:var(--fs-sm);font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar__id span{display:block;font-size:var(--fs-xs);color:var(--mute);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar__in .ghost{padding:9px 12px;min-height:38px;font-size:var(--fs-xs)}
.pill{font-size:var(--fs-xs);font-weight:700;border-radius:20px;
  padding:8px 13px;min-height:38px;white-space:nowrap;flex:none}
.pill--ok{background:#ECFDF5;color:#047857}
.pill--off{background:#FEF2F2;color:#B91C1C}
.pill--sync{background:var(--blueLite);color:var(--blue)}
.pill--queue{background:#F1F5FC;color:var(--ink2);min-width:44px}
.pill--warn{background:#FFFBEB;color:#92400E}

.screen--capture{display:grid;gap:18px;max-width:var(--shellMax);
  margin:0 auto;padding:20px 24px 32px;align-items:stretch;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}
.col{display:grid;gap:18px;align-content:start;min-width:0}
.card--stage{display:flex;flex-direction:column}
.card--items,.send{grid-column:1 / -1}
.card--head,.card--stage,.card--entry,.card--items{padding:18px}
.card--stage{padding:12px}

.ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
.field{display:flex;flex-direction:column;gap:6px}
.field+.field{margin-top:12px}
.field label{font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--mute);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;line-height:1.5;min-height:17px}
.field input,.field select,.field textarea{width:100%}
.field textarea{min-height:66px;resize:vertical;line-height:1.55;
  border:1px solid var(--line);border-radius:12px;padding:11px 14px;
  background:#fff;outline:none;font-family:inherit}
.field textarea:focus{border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.row{display:flex;gap:8px}
.row input{flex:1}
.row input[data-role="resi"]{font-family:var(--data);font-weight:600;
  font-size:var(--fs-md)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;border-radius:13px;padding:12px 16px;min-height:var(--tap);
  white-space:nowrap;transition:transform .16s,box-shadow .16s,
  background .16s}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.4;box-shadow:none}
.btn--shot{background:linear-gradient(120deg,#60A5FA,var(--blue) 55%,
  var(--blue2));color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.28)}
.btn--rec{background:linear-gradient(120deg,#5EEAD4,#34D399 55%,
  var(--green));color:#fff;box-shadow:0 8px 18px rgba(16,185,129,.28)}
.btn--stop{background:linear-gradient(125deg,#F87171,var(--red));
  box-shadow:0 8px 18px rgba(239,68,68,.28)}
.btn--add{background:linear-gradient(135deg,var(--blue),#1E3A8A);color:#fff;
  align-self:end;flex:none;min-height:var(--tap);padding:0 18px}
.chip{display:inline-flex;align-items:center;justify-content:center;
  width:var(--tap);height:var(--tap);border-radius:13px;flex:none;
  border:1px solid var(--line);background:#fff;color:var(--ink2)}
.chip:hover{background:var(--blueLite);color:var(--blue)}
.state{display:inline-flex;align-items:center;gap:6px;flex:none;
  font-size:var(--fs-xs);font-weight:700;letter-spacing:0;
  border-radius:11px;padding:0 14px;min-height:var(--tap);white-space:nowrap;
  background:#F1F5FC;color:var(--mute);justify-content:center}
.state:empty{display:none}
.state--cek{background:var(--blueLite);color:var(--blue)}
.state--ok{background:#ECFDF5;color:#047857}
.state--pakai{background:#FEF2F2;color:#B91C1C}

.stage{position:relative;border-radius:14px;overflow:hidden;
  background:linear-gradient(160deg,#0F2A5C,#0B1B38 60%,#081428);
  flex:1 1 auto;min-height:300px;max-height:calc(100vh - 240px);
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.25),
  0 12px 28px rgba(30,58,138,.22)}
.stage video{width:100%;height:100%;object-fit:cover}
.stage__top{position:absolute;top:10px;left:10px;right:10px;display:flex;
  gap:8px}
.stage__cam--none{color:#B91C1C;font-weight:700}
.stage__top select{flex:1;background:rgba(255,255,255,.94);
  border-color:transparent;font-size:var(--fs-xs);font-weight:700;
  min-height:40px;padding:8px 12px}
.stage__top .chip{width:44px;height:40px;
  background:rgba(255,255,255,.94);border-color:transparent}
.stage__rec{position:absolute;top:60px;left:10px;display:flex;
  align-items:center;gap:8px;background:rgba(239,68,68,.94);color:#fff;
  border-radius:20px;padding:7px 13px;font-size:var(--fs-xs);font-weight:700}
.stage__rec--hold{background:rgba(59,130,246,.95)}
.stage__rec--over{background:rgba(217,119,6,.95)}
.stage__rec i{width:9px;height:9px;border-radius:50%;background:#fff;
  animation:blink 1s steps(2,start) infinite}
@keyframes blink{to{opacity:.25}}
.stage__hint{position:absolute;left:50%;bottom:12px;
  transform:translateX(-50%);background:rgba(9,20,44,.78);color:#fff;
  border-radius:20px;padding:8px 18px;font-size:var(--fs-xs);
  font-weight:600;white-space:nowrap;opacity:0;transition:opacity .25s}
.stage__hint.on{opacity:1}
.stage__hint.ok{background:rgba(16,185,129,.92)}
.stage__hint.bad{background:rgba(239,68,68,.92)}

.acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.slot{border:1px solid var(--line);border-radius:13px;padding:10px;
  background:linear-gradient(160deg,#FAFCFF,#EFF6FF);
  transition:border-color .2s,background .2s}
.slot--set{border-color:#6EE7B7;
  background:linear-gradient(160deg,#F0FDF8,#DCFCE7)}
.slot__h{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:7px}
.slot__h b{font-size:var(--fs-xs);font-weight:700}
.slot__b{font-size:var(--fs-xs);color:var(--mute);min-height:58px;
  display:flex;flex-direction:column;gap:6px;align-items:center;
  justify-content:center;text-align:center}
.peek{display:block;width:100%;position:relative;border-radius:9px;
  overflow:hidden;line-height:0;transition:transform .16s,box-shadow .16s}
.peek:hover{transform:scale(1.02);box-shadow:0 8px 18px rgba(30,58,138,.24)}
.peek img,.peek video{width:100%;aspect-ratio:16/9;object-fit:cover;
  display:block;max-height:150px}
.peek__play{position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center}
.peek__play::after{content:"";width:0;height:0;
  border-left:16px solid rgba(255,255,255,.94);
  border-top:11px solid transparent;border-bottom:11px solid transparent;
  filter:drop-shadow(0 2px 6px rgba(9,20,44,.6));margin-left:4px}
.slot__b em{font-style:normal;font-family:var(--data);font-size:11px;
  color:var(--ink2)}

.entry{display:grid;gap:10px;align-items:end;
  grid-template-columns:88px 132px minmax(0,1fr)}
.entry>.field,.entry>.btn{margin:0}
.entry .field--grow{grid-column:1 / -1}
.entry .field+.field{margin-top:0}
.field--qty input{text-align:center;font-family:var(--data);font-weight:600}

.found{margin-top:14px;border:1px solid #A7F3D0;background:#F2FDF8;
  border-radius:var(--radiusSm);padding:11px 13px;min-height:112px;
  display:flex;flex-direction:column;justify-content:center;
  transition:background .2s,border-color .2s}
@keyframes pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1}}
.found--miss{border-color:#FDE68A;background:#FFFBEB}
.found--idle{border-color:var(--line);background:#F8FAFF;
  border-style:dashed}
.found__idle{font-size:var(--fs-xs);color:var(--mute);text-align:center;
  line-height:1.6}
.found__h{font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:#047857;margin-bottom:9px}
.found--miss .found__h{color:#92400E}
.found__l{display:grid;gap:7px}
.found__l div{display:flex;gap:10px;align-items:baseline}
.found__l dt{flex:0 0 92px;font-size:var(--fs-xs);color:var(--mute);
  font-weight:600}
.found__l dd{flex:1;font-size:var(--fs-xs);font-weight:600;min-width:0;
  word-break:break-word}
.found__l dd.mono{font-family:var(--data)}
.found__l dd i{font-style:normal;font-weight:500;color:var(--mute)}

.found+.field{margin-top:16px}
.items__h{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.items__h b{font-size:var(--fs-sm);font-weight:800;
  background:linear-gradient(120deg,#1E3A8A,var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.items__h em{font-style:normal;font-family:var(--data);
  font-size:var(--fs-xs);color:var(--mute)}
.void{padding:18px 4px;text-align:center;color:var(--mute);
  font-size:var(--fs-xs)}
.grid{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}
.grid thead th{text-align:left;font-size:10.5px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:var(--mute);
  padding:0 6px 7px}
.grid__row td{padding:3px;border-top:1px solid var(--line)}
.grid__row input,.grid__row select{min-height:38px;padding:7px 9px;
  border-radius:9px;font-size:var(--fs-xs)}
.grid__row input[data-edit="sku"]{font-family:var(--data);font-weight:600}
.grid__row input[data-edit="qty"]{width:62px;text-align:center;
  font-family:var(--data);font-weight:600}
.grid__row select{width:106px;font-weight:600}
.grid__row input[data-edit="client"]{max-width:132px}
.grid__row input[data-edit="note"]{min-width:120px}
.grid__row--bad input,.grid__row--bad select{background:#FEF2F2;
  border-color:#FECACA}
.grid__row--bad select{color:#B91C1C}
.x{width:34px;height:34px;border-radius:17px;font-size:19px;
  color:var(--mute);line-height:1}
.x:hover{background:#FEF2F2;color:var(--red)}

.send{width:100%;color:#fff;font-weight:800;letter-spacing:.01em;
  background:linear-gradient(120deg,#3B82F6,var(--blue2) 55%,#1E3A8A);
  border-radius:14px;padding:16px;min-height:56px;font-size:var(--fs-md);
  box-shadow:0 12px 26px rgba(37,99,235,.32);
  transition:transform .16s,box-shadow .16s,opacity .16s}
.send:not(:disabled):hover{box-shadow:0 16px 32px rgba(37,99,235,.4)}
.send:active{transform:scale(.99)}
.send:disabled{opacity:.35;box-shadow:none}

.sheetwrap{position:fixed;inset:0;z-index:60;background:rgba(15,38,82,.45);
  display:flex;align-items:flex-end;justify-content:center;
  animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.sheet{width:100%;max-width:520px;max-height:86vh;background:var(--card);
  border-radius:20px 20px 0 0;display:flex;flex-direction:column;
  animation:rise .28s cubic-bezier(.22,.9,.3,1)}
@keyframes rise{from{transform:translateY(24px)}to{transform:none}}
.sheet__head{display:flex;align-items:center;gap:10px;padding:16px 18px;
  border-bottom:1px solid var(--line)}
.sheet__head h2{flex:1;font-size:var(--fs-md);font-weight:800}
.sheet__x{width:40px;height:40px;border-radius:19px;font-size:24px;
  color:var(--mute);padding:9px;background-clip:content-box}
.sheet__x:hover{background:var(--blueLite);color:var(--ink)}
.sheet__sum{display:flex;gap:14px;flex-wrap:wrap;padding:12px 18px;
  background:#F8FAFF;font-size:var(--fs-xs);color:var(--ink2);
  border-bottom:1px solid var(--line)}
.sheet__sum b{font-family:var(--data);color:var(--ink)}
.sheet__sum .bad b{color:var(--red)}
.folder{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:11px 18px;font-size:var(--fs-xs);color:var(--ink2);
  background:#FFFBEB;border-bottom:1px solid var(--line)}
.folder span{flex:1;min-width:0}
.folder b{font-family:var(--data);word-break:break-all}
.folder--on{background:#F0FDF8}
.folder--ask{background:#FFFBEB}
.folder--off{background:#F1F5FC;color:var(--mute)}
.ghost--sm{padding:7px 11px;min-height:34px;font-size:var(--fs-xs);
  border:1px solid var(--line);background:#fff;border-radius:10px;
  font-weight:700;color:var(--ink2)}
.ghost--sm:hover{background:var(--blueLite);color:var(--blue)}
.sheet__body{flex:1;overflow-y:auto;padding:12px 18px;
  -webkit-overflow-scrolling:touch}
.sheet__foot{padding:14px 18px;border-top:1px solid var(--line);
  padding-bottom:calc(14px + env(safe-area-inset-bottom))}
.sheet__foot .ghost{width:100%}
.sheet__foot .ghost:disabled{opacity:.4}

.job{border:1px solid var(--line);border-radius:13px;padding:12px;
  margin-bottom:9px}
.job__top{display:flex;align-items:center;gap:9px;margin-bottom:4px}
.job__top b{flex:1;font-family:var(--data);font-size:var(--fs-sm);
  font-weight:600}
.job__sub{font-size:var(--fs-xs);color:var(--mute)}
.job__err{margin-top:7px;font-size:11px;color:#B91C1C;background:#FEF2F2;
  border-radius:8px;padding:7px 9px}
.tag{font-style:normal;font-size:11px;font-weight:700;border-radius:20px;
  padding:4px 10px;white-space:nowrap}
.tag--antre{background:#F1F5FC;color:var(--ink2)}
.tag--kirim{background:var(--blueLite);color:var(--blue)}
.tag--ulang{background:#FFFBEB;color:#92400E}
.tag--gagal{background:#FEF2F2;color:#B91C1C}

.viewerwrap{position:fixed;inset:0;z-index:85;background:rgba(9,20,44,.86);
  display:flex;align-items:center;justify-content:center;padding:28px;
  animation:fadeIn .18s ease}
.viewer{width:100%;max-width:1100px;max-height:92vh;display:flex;
  flex-direction:column;gap:12px}
.viewer__bar{display:flex;align-items:center;gap:12px;color:#fff}
.viewer__bar b{font-size:var(--fs-md);font-weight:800}
.viewer__bar em{flex:1;font-style:normal;font-family:var(--data);
  font-size:var(--fs-xs);color:#B9CDF0}
.viewer__x{width:42px;height:42px;border-radius:21px;font-size:26px;
  color:#fff;line-height:1;background:rgba(255,255,255,.12)}
.viewer__x:hover{background:rgba(255,255,255,.24)}
.viewer__body{flex:1;min-height:0;display:flex;align-items:center;
  justify-content:center}
.viewer__body img,.viewer__body video{max-width:100%;max-height:80vh;
  border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.5);
  animation:pop .22s cubic-bezier(.22,.9,.3,1)}

.gatewrap{position:fixed;inset:0;z-index:95;background:rgba(9,20,44,.72);
  backdrop-filter:blur(3px);display:flex;align-items:center;
  justify-content:center;padding:24px;animation:fadeIn .18s ease}
.gate{width:100%;max-width:430px;background:var(--card);border-radius:20px;
  padding:28px 26px 22px;text-align:center;box-shadow:var(--shadowUp);
  animation:pop .24s cubic-bezier(.22,.9,.3,1)}
.gate__ico{width:60px;height:60px;margin:0 auto 16px;border-radius:30px;
  background:var(--blueLite);display:flex;align-items:center;
  justify-content:center}
.gate__ico svg{width:30px;height:30px;fill:none;stroke:var(--blue);
  stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gate h2{font-size:var(--fs-md);font-weight:800;margin-bottom:9px}
.gate p{font-size:var(--fs-xs);color:var(--ink2);line-height:1.65;
  margin-bottom:18px}
.gate p b{font-family:var(--data);color:var(--ink)}
.gate__msg{display:none;font-size:var(--fs-xs);color:#B91C1C;
  background:#FEF2F2;border:1px solid #FECACA;border-radius:12px;
  padding:11px 13px;margin-bottom:16px;line-height:1.6}
.gate__msg.on{display:block}
.gate__ok{width:100%;color:#fff;font-weight:800;border-radius:13px;
  padding:14px;min-height:var(--tap);font-size:var(--fs-sm);
  background:linear-gradient(120deg,#3B82F6,var(--blue) 55%,#1E3A8A);
  box-shadow:0 12px 26px rgba(37,99,235,.32)}
.gate__ok:active{transform:scale(.99)}
.screen--locked .card--head,.screen--locked .card--entry,
.screen--locked .card--items{opacity:.55}

.noticewrap{position:fixed;inset:0;z-index:90;background:rgba(15,38,82,.5);
  display:flex;align-items:center;justify-content:center;padding:24px;
  animation:fadeIn .18s ease}
.notice{width:100%;max-width:380px;background:var(--card);border-radius:20px;
  padding:26px 24px 20px;text-align:center;box-shadow:var(--shadowUp);
  animation:pop .24s cubic-bezier(.22,.9,.3,1)}
.notice__ico{width:58px;height:58px;margin:0 auto 16px;border-radius:29px;
  background:#FFFBEB;display:flex;align-items:center;justify-content:center}
.notice__ico svg{width:28px;height:28px;fill:none;stroke:#D97706;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.notice h2{font-size:var(--fs-md);font-weight:800;margin-bottom:8px}
.notice p{font-size:var(--fs-xs);color:var(--ink2);line-height:1.6;
  margin-bottom:20px}
.notice p b{font-family:var(--data);color:var(--ink)}
.notice__list{margin:0 0 4px;padding-left:22px;text-align:left}
.notice__list li{margin-bottom:7px;line-height:1.6}
.notice__list li:last-child{margin-bottom:0}
.notice__ok{width:100%;background:var(--ink);color:#fff;font-weight:700;
  border-radius:13px;padding:14px;min-height:var(--tap);
  font-size:var(--fs-sm)}
.notice__ok:active{transform:scale(.98)}

.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,14px);
  z-index:80;background:var(--ink);color:#fff;border-radius:13px;
  padding:12px 18px;font-size:var(--fs-xs);font-weight:600;
  box-shadow:var(--shadowUp);opacity:0;pointer-events:none;
  transition:opacity .22s,transform .22s;max-width:86vw;text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast--ok{background:#047857}
.toast--bad{background:#B91C1C}

@media(min-width:560px){
  .bar__in .brand__txt{display:block}
}

@media(max-width:1023px){
  .screen--capture{grid-template-columns:1fr;padding:var(--pad);gap:var(--gap)}
  .col{gap:var(--gap)}
  .card--items,.send{grid-column:auto}
  .bar__in{padding:10px var(--pad)}
  .stage{aspect-ratio:4/3;flex:none;min-height:0;max-height:none}
  .entry{grid-template-columns:84px 126px minmax(0,1fr)}
}

@media(max-width:620px){
  .stage{aspect-ratio:3/4}
  .entry{grid-template-columns:1fr 1fr}
  .btn--add{grid-column:1 / -1}
  .grid,.grid tbody,.grid__row,.grid td{display:block;width:100%}
  .grid thead{display:none}
  .grid__row{border:1px solid var(--line);border-radius:12px;padding:8px;
    margin-bottom:8px;background:#F8FAFF}
  .grid__row--bad{background:#FEF2F2;border-color:#FECACA}
  .grid__row td{border:0;display:flex;align-items:center;gap:9px;
    padding:3px 0}
  .grid__row td::before{content:attr(data-label);flex:0 0 88px;font-size:11px;
    font-weight:700;color:var(--mute)}
  .grid__row td:last-child{justify-content:flex-end}
  .grid__row input,.grid__row select{flex:1;width:auto}
}

@media(max-width:340px){
  .acts{grid-template-columns:1fr}
  .bar__in{flex-wrap:wrap}
  .bar__id{flex:1 1 100%;order:-1}
}

@media(min-width:1280px){
  .screen--capture{grid-template-columns:minmax(0,1.12fr) 470px}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
}
