.qr-heading-actions,.qr-export-actions,.qr-new-actions{display:flex;gap:10px;flex-wrap:wrap}
.qr-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:22px 0}
.qr-kpi-grid button{appearance:none;text-align:left;border:1px solid #dce6ec;background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(12,36,58,.05);cursor:pointer;color:#0c263e}
.qr-kpi-grid button:hover,.qr-kpi-grid button.active{border-color:#008f85;box-shadow:0 10px 28px rgba(0,143,133,.12);transform:translateY(-1px)}
.qr-kpi-grid span,.qr-kpi-grid small{display:block;color:#708293}.qr-kpi-grid strong{display:block;font-size:31px;margin:8px 0;color:#09233b}
.qr-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(145px,1fr)) auto;gap:12px;align-items:end;padding:18px;margin-bottom:16px}
.qr-toolbar label,.qr-modal label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#4d6274}.qr-toolbar input,.qr-toolbar select{min-width:0;width:100%}
.qr-selection-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #e3eaf0;color:#647687;font-size:13px}.qr-selection-bar label{font-weight:750}
.qr-code-cell{display:flex;align-items:center;gap:10px}.qr-code-cell img{width:48px;height:48px;border:1px solid #dce5eb;border-radius:9px;padding:3px}.qr-code-cell b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.qr-state{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.04em}.qr-state.available{background:#e4f7f1;color:#08765d}.qr-state.assigned{background:#e3f2ff;color:#176a9f}.qr-state.deactivated{background:#fff2d9;color:#9b6200}.qr-state.blocked{background:#ffe5e8;color:#a72a3b}
.qr-mini-button{display:grid;gap:5px;justify-items:center;border:0;background:transparent;cursor:pointer;color:var(--navy);font-weight:850;font-size:9px}.qr-mini-button:hover .qr-mini{border-color:var(--teal);box-shadow:0 4px 12px rgba(13,145,151,.14)}.qr-empty-symbol{display:grid;place-items:center;width:78px;height:78px;margin:8px auto;border:1px dashed #b9c7d4;border-radius:16px;color:#88a0b4;font-size:34px;background:#f8fbfd}
.qr-row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.qr-row-actions button{white-space:nowrap}.qr-table td small{display:block;color:#7a8a98;margin-top:3px}
.qr-capacity-strip{display:grid;grid-template-columns:repeat(5,1fr);padding:0;overflow:hidden;margin:0 0 22px}.qr-capacity-strip button{border:0;border-right:1px solid #e3eaf0;background:#fff;padding:17px 20px;text-align:left;color:#0c263e;cursor:pointer}.qr-capacity-strip button:last-child{border-right:0}.qr-capacity-strip span{display:block;color:#708293;font-size:12px}.qr-capacity-strip strong{display:block;font-size:22px;margin-top:4px}.qr-capacity-strip b{font:inherit}
.asset-qr-assignment{margin:0 0 16px;padding:15px 18px;border:1px solid #72cfc6;background:#eafbf8;border-radius:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px 15px}.asset-qr-assignment.hidden{display:none}.asset-qr-assignment span,.asset-qr-assignment small{color:#4c6e6a;font-size:12px}.asset-qr-assignment strong{font-size:18px}.asset-qr-assignment small{grid-column:2}.asset-qr-assignment button{grid-column:3;grid-row:1/3}
.qr-selected-code{border:1px solid #b8ddd8;background:#effaf8;border-radius:16px;padding:18px;margin-bottom:16px}.qr-selected-code span,.qr-selected-code small{display:block;color:#5c776f}.qr-selected-code strong{display:block;font-size:25px;margin:4px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.qr-assign-options{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dbe5eb;border-radius:12px;padding:4px;margin-bottom:17px}.qr-assign-options button{border:0;border-radius:9px;background:transparent;padding:11px;font-weight:800;color:#607384}.qr-assign-options button.active{background:#0c263e;color:#fff}
.qr-asset-results{display:grid;gap:8px;max-height:280px;overflow:auto;margin:10px 0 15px}.qr-asset-result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #dfe7ec;border-radius:12px;padding:12px;cursor:pointer}.qr-asset-result:hover,.qr-asset-result.selected{border-color:#008f85;background:#f1fbf9}.qr-asset-result i{font-style:normal;width:28px;height:28px;border:1px solid #cdd9df;border-radius:50%;display:grid;place-items:center}.qr-asset-result.selected i{background:#008f85;color:#fff;border-color:#008f85}.qr-asset-result small{display:block;color:#708293;margin-top:3px}.qr-asset-result em{font-style:normal;font-size:11px;color:#627486}
.qr-confirm-preview{border-left:4px solid #008f85;background:#f4f8fa;padding:13px 15px;border-radius:8px;margin:13px 0}.qr-confirm-preview b,.qr-confirm-preview small{display:block}.qr-confirm-preview small{color:#667989;margin-top:4px}
.qr-create-new{display:flex;gap:13px;align-items:center;padding:18px;border:1px dashed #a8bac5;border-radius:14px;margin-bottom:14px}.qr-create-new>span{font-size:27px;color:#008f85}.qr-create-new small{display:block;color:#718493;margin-top:4px}
.qr-plan-note,.qr-warning{padding:13px 15px;background:#fff8e8;color:#7f5b12;border:1px solid #f1d89d;border-radius:11px;margin-top:15px;font-size:13px;line-height:1.45}
.qr-history-summary{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;margin-bottom:18px}.qr-history-summary img{width:110px;height:110px;border:1px solid #dce5eb;border-radius:13px;padding:7px}.qr-history-summary h3{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:24px;margin:4px 0}.qr-history-summary p{color:#6f8291;margin:0}.qr-history-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 20px}.qr-timeline{display:grid;gap:0;border-top:1px solid #e3eaf0}.qr-timeline article{display:grid;grid-template-columns:16px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid #edf1f4}.qr-timeline i{width:11px;height:11px;background:#008f85;border-radius:50%;margin-top:5px}.qr-timeline b,.qr-timeline small{display:block}.qr-timeline small{color:#748795;margin-top:4px}.qr-timeline p{margin:5px 0 0;color:#526879}
.scanner-frame{position:relative;min-height:260px;background:#071a29;border-radius:18px;overflow:hidden;display:grid;place-items:center;margin-bottom:16px}.scanner-frame video{width:100%;height:330px;object-fit:cover}.scanner-guide{position:absolute;width:210px;height:210px;border:3px solid #52dfd1;border-radius:24px;box-shadow:0 0 0 999px rgba(4,18,29,.45)}.scanner-frame p{position:absolute;bottom:12px;background:rgba(6,27,43,.8);color:#fff;padding:7px 12px;border-radius:999px;font-size:12px}.scanner-modal #qrManualForm{display:grid;gap:12px}
.btn.danger{background:#bd3346;color:#fff;border-color:#bd3346}
body.quick-activation .form-section:not(:nth-of-type(2)):not(:nth-of-type(3)){display:none}body.quick-activation #assetModal .modal-head p:after{content:" · Solo solicitamos los datos indispensables en terreno."}
@media(max-width:1100px){.qr-kpi-grid{grid-template-columns:repeat(3,1fr)}.qr-toolbar{grid-template-columns:repeat(2,1fr)}.qr-export-actions{grid-column:1/-1}.qr-capacity-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.qr-heading{align-items:flex-start}.qr-heading-actions{width:100%}.qr-heading-actions .btn{flex:1}.qr-kpi-grid{grid-template-columns:repeat(2,1fr);gap:9px}.qr-kpi-grid button{padding:15px}.qr-kpi-grid strong{font-size:25px}.qr-toolbar{grid-template-columns:1fr}.qr-export-actions{grid-column:auto}.qr-export-actions .btn{flex:1}.qr-capacity-strip{grid-template-columns:repeat(2,1fr)}.qr-capacity-strip button{border-bottom:1px solid #e3eaf0}.qr-table th:nth-child(4),.qr-table td:nth-child(4),.qr-table th:nth-child(7),.qr-table td:nth-child(7){display:none}.qr-history-summary{grid-template-columns:78px 1fr}.qr-history-summary img{width:78px;height:78px}.asset-qr-assignment{grid-template-columns:1fr auto}.asset-qr-assignment small{grid-column:1}.asset-qr-assignment button{grid-column:2;grid-row:1/3}}
