/* Fullscreen scanner for every stock flow. Uses the same expanding zoom language as the route map. */
body.stock-camera-fullscreen-open{overflow:hidden;touch-action:none}
.stock-camera-fullscreen-overlay{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:2147483000;display:flex;flex-direction:column;background:#071713;overflow:hidden;transform-origin:0 0;will-change:transform,border-radius,filter;color:#fff}
.stock-camera-full-stage{position:relative;flex:1;min-height:0;background:radial-gradient(circle at 50% 40%,#173b31 0,#0b211b 42%,#06110e 100%);overflow:hidden;transform-origin:center;will-change:transform}
.stock-camera-full-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.stock-camera-full-placeholder{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:30px;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(28,76,63,.92),rgba(5,17,14,.98))}
.stock-camera-full-placeholder strong{font-size:17px;font-weight:900}.stock-camera-full-placeholder span{max-width:280px;font-size:12px;line-height:18px;color:#b8cec7;font-weight:650}
.stock-camera-full-loader{width:34px;height:34px;border:3px solid rgba(255,255,255,.18);border-top-color:#6fe2c5;border-radius:50%;animation:stock-camera-spin .8s linear infinite;margin-bottom:5px}
.stock-camera-full-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 22%,transparent 70%,rgba(0,0,0,.42)),radial-gradient(circle at center,transparent 42%,rgba(0,0,0,.28) 100%)}
.stock-camera-full-top{position:absolute;z-index:5;left:16px;right:16px;top:calc(14px + env(safe-area-inset-top));display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}
.stock-camera-full-heading{display:grid;gap:2px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(7,25,20,.46);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.stock-camera-full-heading span{font-size:13px;font-weight:900}.stock-camera-full-heading small{font-size:9px;color:#b7d2c9;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.stock-camera-full-status{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(7,25,20,.48);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:9px;font-weight:850;color:#d8eee7;white-space:nowrap}
.stock-camera-full-status i{width:7px;height:7px;border-radius:50%;background:#65e3c0;box-shadow:0 0 0 4px rgba(101,227,192,.1),0 0 12px rgba(101,227,192,.42)}
.stock-camera-full-frame{position:absolute;z-index:4;left:9%;right:9%;top:37%;height:118px;border:1px solid rgba(255,255,255,.24);border-radius:22px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(101,227,192,.08),0 0 0 999px rgba(0,0,0,.035)}
.stock-camera-full-frame:before,.stock-camera-full-frame:after{content:"";position:absolute;inset:-2px;border-radius:22px;pointer-events:none;background:linear-gradient(#70e6c8,#70e6c8) left top/34px 3px no-repeat,linear-gradient(#70e6c8,#70e6c8) left top/3px 34px no-repeat,linear-gradient(#70e6c8,#70e6c8) right top/34px 3px no-repeat,linear-gradient(#70e6c8,#70e6c8) right top/3px 34px no-repeat,linear-gradient(#70e6c8,#70e6c8) left bottom/34px 3px no-repeat,linear-gradient(#70e6c8,#70e6c8) left bottom/3px 34px no-repeat,linear-gradient(#70e6c8,#70e6c8) right bottom/34px 3px no-repeat,linear-gradient(#70e6c8,#70e6c8) right bottom/3px 34px no-repeat;filter:drop-shadow(0 0 7px rgba(112,230,200,.34))}
.stock-camera-full-frame:after{inset:8px 6px;background:linear-gradient(90deg,transparent,rgba(128,255,222,.88),transparent);height:2px;top:50%;animation:stock-camera-scanline 2.1s ease-in-out infinite;filter:drop-shadow(0 0 7px rgba(128,255,222,.65))}
.stock-camera-focus-hint{position:absolute;z-index:5;left:50%;bottom:18px;transform:translateX(-50%);font-size:9px;font-weight:800;color:rgba(239,255,250,.76);background:rgba(7,25,20,.38);border:1px solid rgba(255,255,255,.12);padding:6px 9px;border-radius:999px;white-space:nowrap;pointer-events:none}
.stock-camera-full-sheet{position:relative;z-index:6;flex:0 0 auto;background:linear-gradient(180deg,rgba(253,255,254,.985),#f6faf8);color:#12231d;border-top:1px solid rgba(170,203,192,.35);padding:15px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -16px 42px rgba(0,0,0,.18);display:grid;gap:9px}
.stock-camera-last-label{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#70837c}.stock-camera-last-empty{min-height:41px;display:flex;align-items:center;color:#83938d;font-size:12px;font-weight:650}
.stock-camera-last-product{min-height:41px;display:grid;gap:3px}.stock-camera-last-product strong{font-size:14px;line-height:18px;font-weight:900;color:#143b30;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-camera-last-product span{font-size:10px;font-weight:750;color:#72857e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stock-camera-back-button{width:100%;min-height:48px;border:1px solid rgba(8,127,105,.22);border-radius:18px;background:linear-gradient(180deg,#e4f5ef,#d9eee7);color:#075e50;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 7px 18px rgba(20,61,50,.07)}.stock-camera-back-button span{font-size:25px;font-weight:500;line-height:0;transform:translateY(-1px)}
.stock-camera-fullscreen-overlay.stock-camera-zoom-enter-prep{transform:translate3d(var(--stock-camera-zoom-x,0),var(--stock-camera-zoom-y,0),0) scale(var(--stock-camera-zoom-sx,1),var(--stock-camera-zoom-sy,1));border-radius:var(--stock-camera-zoom-radius,26px);filter:brightness(.985)}
.stock-camera-fullscreen-overlay.stock-camera-zoom-enter-active{transform:translate3d(0,0,0) scale(1,1);border-radius:0;filter:none;transition:transform 520ms cubic-bezier(.22,1,.36,1),border-radius 520ms cubic-bezier(.22,1,.36,1),filter 360ms ease}
.stock-camera-fullscreen-overlay.stock-camera-zoom-enter-prep .stock-camera-full-stage{transform:scale(1.1)}.stock-camera-fullscreen-overlay.stock-camera-zoom-enter-active .stock-camera-full-stage{transform:scale(1);transition:transform 560ms cubic-bezier(.22,1,.36,1)}.stock-camera-fullscreen-overlay.stock-camera-zoom-leaving{pointer-events:none}
body.stock-camera-fullscreen-open .modal-backdrop{z-index:2147483300!important;left:0!important;width:100vw!important}body.stock-camera-fullscreen-open .toast-root{z-index:2147483400!important}
@keyframes stock-camera-spin{to{transform:rotate(360deg)}}@keyframes stock-camera-scanline{0%,100%{transform:translateY(-43px);opacity:.35}50%{transform:translateY(43px);opacity:1}}
@media(max-height:650px){.stock-camera-full-frame{top:34%;height:96px}.stock-camera-full-sheet{padding-top:11px;gap:7px}.stock-camera-back-button{min-height:44px}.stock-camera-last-empty,.stock-camera-last-product{min-height:34px}}
@media(prefers-reduced-motion:reduce){.stock-camera-full-loader,.stock-camera-full-frame:after{animation:none!important}.stock-camera-fullscreen-overlay.stock-camera-zoom-enter-active,.stock-camera-fullscreen-overlay.stock-camera-zoom-enter-active .stock-camera-full-stage{transition-duration:1ms!important}}

/* The inline camera preview is no longer needed: camera opens directly fullscreen. */
.stock-camera{display:none!important}
