.obra3d{position:relative;width:100%;min-height:300px;background-color:#e6e6e6;border-radius:8px;overflow:hidden;font-family:inherit}
.obra3d canvas{display:block;width:100%;height:100%;touch-action:none}
.obra3d-total{position:absolute;top:10px;left:10px;background:#fff;padding:6px 12px;border-radius:6px;font-size:14px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.obra3d-legend{position:absolute;bottom:10px;left:10px;background:#fff;padding:4px 6px;border-radius:6px;font-size:12px;display:flex;gap:4px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.obra3d-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}
.obra3d-info{position:absolute;top:10px;right:10px;max-width:240px;background:#fff;padding:10px 12px;border-radius:6px;font-size:13px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.obra3d-bar{height:8px;background:#ddd;border-radius:4px;margin:6px 0;overflow:hidden}
.obra3d-bar span{display:block;height:100%}
.obra3d-nota{margin-top:6px;color:#555}
.obra3d-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#555;font-size:14px}
.obra3d-search{position:absolute;top:52px;left:10px;width:240px;max-width:calc(100% - 20px)}
.obra3d-search input{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid #ccc;border-radius:6px;font-size:14px;background:#fff;color:#000!important;font-weight:700!important;padding-right:34px}
.obra3d-search input::placeholder{color:#777;font-weight:400}
.obra3d-count{font-size:12px;color:#555;margin:4px 2px}
.obra3d-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;background:#fff;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.obra3d-list:empty{display:none}
.obra3d-list button{font-family:inherit;color:#111;text-align:left;border:0;background:none;padding:6px 10px;font-size:13px;cursor:pointer;border-radius:6px}
.obra3d-list button:hover{background:#f0f0f0}
.obra3d-time{position:absolute;bottom:46px;left:10px;width:280px;max-width:calc(100% - 20px);box-sizing:border-box;background:#fff;padding:8px 12px;border-radius:6px;font-size:12px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.obra3d-time input{width:100%;margin:6px 0 0}
.obra3d-hist{margin-top:8px;font-size:12px;color:#444}
.obra3d-hist ul{margin:4px 0 0;padding:0;list-style:none}
.obra3d .obra3d-legend button{display:inline-flex;align-items:center;border:0;background:none;box-shadow:none;margin:0;padding:4px 8px;border-radius:4px;font:inherit;font-size:12px;line-height:1.2;text-transform:none;color:#222;cursor:pointer}
.obra3d .obra3d-legend button:hover{background:#f0f0f0;color:#222}
.obra3d .obra3d-legend button.active{background:#e2e2e2;font-weight:700}
.obra3d-tip{position:absolute;pointer-events:none;background:rgba(20,20,20,.92);color:#fff;padding:5px 9px;border-radius:5px;font-size:12px;white-space:nowrap;z-index:5;display:none}
.obra3d-count{display:inline-block;background:rgba(255,255,255,.88);padding:2px 8px;border-radius:10px}
.obra3d-count:empty{display:none}
.obra3d button,.obra3d input{font-family:inherit}
.obra3d-field{position:relative}
.obra3d-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.obra3d .obra3d-clear{display:none;position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#e2e2e2;color:#222;font-size:16px;line-height:22px;text-align:center;box-shadow:none;cursor:pointer}
.obra3d .obra3d-clear:hover{background:#cfcfcf;color:#000}

.obra3d-eye{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;width:34px;height:30px;border-radius:6px;background:#1d6fe8;color:#fff!important;text-decoration:none;box-shadow:none}.obra3d-eye:hover{background:#1558bd}

.o3p{position:fixed;inset:0;z-index:2147483000;background:rgba(10,10,10,.82);display:flex;align-items:center;justify-content:center}
.o3p-box{position:relative;width:min(92vw,1100px);height:min(86vh,800px);display:flex;align-items:center;justify-content:center}
.o3p-st{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.o3p-st img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;background:#111;box-shadow:0 6px 30px rgba(0,0,0,.5)}
.o3p-st iframe{width:100%;height:100%;border:0;border-radius:6px;background:#fff}
.o3p button{position:absolute;border:0;cursor:pointer;background:rgba(255,255,255,.92);color:#111;border-radius:50%;width:38px;height:38px;font-size:24px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}
.o3p button:hover{background:#fff}
.o3p-x{top:-14px;right:-14px;z-index:2}
.o3p-p,.o3p-n{top:50%;margin-top:-19px;display:none!important;z-index:2}.o3p-p{left:8px}.o3p-n{right:8px}
.o3p-multi .o3p-p,.o3p-multi .o3p-n{display:flex!important}
.o3p-c{position:absolute;bottom:-28px;left:0;right:0;text-align:center;color:#fff;font-size:13px}

.obra3d-rsvg{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.obra3d .obra3d-ruler-btn{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:6px;background:#fff;color:#222;font:inherit;font-size:13px;line-height:1.2;padding:7px 11px;box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:pointer;text-transform:none}
.obra3d .obra3d-ruler-btn:hover{background:#f0f0f0;color:#222}
.obra3d .obra3d-ruler-btn.on{background:#e11d48;color:#fff}
.obra3d-ruler-hint{position:absolute;right:10px;bottom:52px;max-width:260px;background:rgba(20,20,20,.9);color:#fff;font-size:12px;padding:6px 10px;border-radius:6px;pointer-events:none}
.obra3d-dim{white-space:pre-line;margin-top:6px;font-size:12px;color:#0b2545;font-weight:600}
