.h-100{height:100%!important}.h-75{height:75%!important}.mt-0{margin-top:0!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mt-5{margin-top:20px!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.mb-5{margin-bottom:20px!important}.ml-0{margin-left:0!important}.ml-1{margin-left:4px!important}.ml-2{margin-left:8px!important}.ml-3{margin-left:12px!important}.ml-4{margin-left:16px!important}.ml-5{margin-left:20px!important}.mr-0{margin-right:0!important}.mr-1{margin-right:4px!important}.mr-2{margin-right:8px!important}.mr-3{margin-right:12px!important}.mr-4{margin-right:16px!important}.mr-5{margin-right:20px!important}.m-0{margin:0!important}.m-1{margin:4px!important}.m-2{margin:8px!important}.m-3{margin:12px!important}.m-4{margin:16px!important}.m-5{margin:20px!important}.pt-0{padding-top:0!important}.pt-1{padding-top:4px!important}.pt-2{padding-top:8px!important}.pt-3{padding-top:12px!important}.pt-4{padding-top:16px!important}.pt-5{padding-top:20px!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:4px!important}.pb-2{padding-bottom:8px!important}.pb-3{padding-bottom:12px!important}.pb-4{padding-bottom:16px!important}.pb-5{padding-bottom:20px!important}.pl-0{padding-left:0!important}.pl-1{padding-left:4px!important}.pl-2{padding-left:8px!important}.pl-3{padding-left:12px!important}.pl-4{padding-left:16px!important}.pl-5{padding-left:20px!important}.pr-0{padding-right:0!important}.pr-1{padding-right:4px!important}.pr-2{padding-right:8px!important}.pr-3{padding-right:12px!important}.pr-4{padding-right:16px!important}.pr-5{padding-right:20px!important}.p-0{padding:0!important}.p-1{padding:4px!important}.p-2{padding:8px!important}.p-3{padding:12px!important}.p-4{padding:16px!important}.p-5{padding:20px!important}.bgPrimary>li>button{background-color:blue!important}@keyframes blink-danger{0%{box-shadow:0 0 8px red}50%{box-shadow:none}to{box-shadow:0 0 8px red}}@keyframes blink-warning{0%{box-shadow:0 0 8px orange}50%{box-shadow:none}to{box-shadow:0 0 8px orange}}.context-card{overflow-y:auto}.context-card,.page-stack{height:97.5%;margin:.5%;width:99%}.circle{border-radius:50%;height:10px;margin:0 5px;width:10px}.device-card-success{box-shadow:0 0 5px green}.device-card-danger{animation:blink-danger 1.5s linear infinite}.device-card-warning{animation:blink-warning 1.5s linear infinite}.device-card-disabled{box-shadow:0 0 5px 0 gray}.list-card{height:97.5%;margin:.5%;overflow-y:auto;width:99%}.list-card .ant-card-body{height:100%;padding-top:5px}.list-item{border:1px solid #ddd!important;cursor:grab;margin-bottom:4px;padding:8px!important}.summary-card{height:97.5%;margin:.5%;width:99%}
/* !important: antd's own (injected) rule is more specific */.keep-one-selected .ant-select-selection-item-remove{display:none!important}.column-resize-handle{bottom:0;cursor:col-resize;position:absolute;right:0;top:0;touch-action:none;width:8px;z-index:3}.column-resize-handle:after{background:currentColor;border-radius:1px;bottom:25%;content:"";opacity:0;position:absolute;right:0;top:25%;transition:opacity .2s;width:2px}.column-resize-handle:hover:after{opacity:.5}.cam-root{box-sizing:border-box;display:flex;flex-direction:column;gap:8px;margin:0 auto;max-width:480px;overflow-x:hidden}.cam-root,.cam-toolbar{width:100%}.cam-torch{flex:none;height:48px;min-width:48px;width:48px}.cam-stage{background:#000;border-radius:16px;height:70vh;max-height:760px;min-height:420px;overflow:hidden;position:relative;width:100%}.cam-fill,.cam-stage{box-sizing:border-box}.cam-fill{inset:0;padding:16px;position:absolute}.cam-overlay{z-index:5}.cam-notice{background:#000000d1;text-align:center}.cam-start-button{font-size:18px;font-weight:600;max-width:100%;min-height:56px;padding:0 32px}.cam-start-text{font-size:16px;max-width:100%;text-align:center}.cam-action-button{flex:1 1;font-size:16px;min-height:48px;min-width:0}.video-frame{background:#000;height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.video-circle{aspect-ratio:1/1;opacity:.7;pointer-events:none;top:45%;transform:translate(-50%,-50%);width:86%;z-index:3}.capture-button,.video-circle{border:4px solid #fff;border-radius:50%;left:50%;position:absolute}.capture-button{background:#ffffff59;bottom:20px;box-shadow:0 0 0 3px #00000059;cursor:pointer;height:72px;padding:0;transform:translateX(-50%);width:72px;z-index:10}.capture-button:active{background:#ffffffbf}.preview-image{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.preview-buttons{background:#0009;bottom:0;gap:8px;left:0;padding:12px;right:0;z-index:10}.ai-progress,.preview-buttons{box-sizing:border-box;display:flex;position:absolute}.ai-progress{background:#000000c7;color:#fff;flex-direction:column;inset:0;justify-content:center;overflow-y:auto;padding:20px 16px;z-index:12}.ai-progress .ant-btn{font-size:16px;min-height:48px}.cam-result-count{font-size:64px;font-weight:700;line-height:1}.cam-result-count span{font-size:24px;font-weight:400}.cam-modal-btn{font-size:16px;min-height:48px}.responsive-row{display:flex;flex-wrap:nowrap}.responsive-col{flex:1 1;min-width:0}@media (max-width:480px){.cam-stage{height:68vh}.responsive-col{margin-bottom:8px;width:100%}}.qr-wrap{max-width:100%;width:100%}.qr-scanner{aspect-ratio:1/1;background:#000;border:2px solid #434343;border-radius:8px;max-width:480px;overflow:hidden;position:relative;width:100%}.qr-notice{box-sizing:border-box;height:100%;padding:16px;width:100%}.qr-instruction-input::placeholder{color:orange}.qr-camera-select .ant-select-selector{align-items:center;min-height:48px}.flexbox-container-row{display:flex;flex-direction:row}.flexbox-container-col{display:flex;flex-direction:column}.bundle-image{height:76vh!important;width:100%}.ant-image{width:100%}@media (max-width:768px){.bundle-image{height:auto!important}}.canvas-image{height:720px;width:800px}@media (max-width:768px){.canvas-image{height:540px;width:600px}}@media (max-width:600px){.canvas-image{height:360px;width:450px}}@media (max-width:450px){.canvas-image{height:240px;width:320px}}