*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#111827;font-family:Arial,Helvetica,sans-serif}.app-shell{display:grid;grid-template-columns:430px 1fr;gap:20px;padding:20px}.panel{background:white;border-radius:16px;box-shadow:0 8px 30px rgba(15,23,42,.08);padding:20px}.form-panel{height:calc(100vh - 40px);overflow:auto;position:sticky;top:20px}h1{margin:0 0 6px}.muted{color:#64748b;margin-top:0}.grid{display:grid;gap:12px;margin:12px 0}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:1fr 1fr 1fr}label{font-size:13px;font-weight:700;display:block}input,textarea,select{width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font:inherit}button{border:0;border-radius:12px;padding:12px 16px;background:#0f172a;color:white;font-weight:700;cursor:pointer}.secondary{background:#e2e8f0;color:#0f172a}.actions{display:flex;gap:10px;margin-top:16px}.status{margin-top:14px;padding:12px;border-radius:10px;display:none}.status.ok{display:block;background:#dcfce7;color:#166534}.status.err{display:block;background:#fee2e2;color:#991b1b}.item-row{display:grid;grid-template-columns:70px 1fr 95px 36px;gap:8px;align-items:end;margin-bottom:8px}.remove{background:#fee2e2;color:#991b1b;padding:10px}.preview-panel{overflow:auto}.invoice{width:1050px;min-height:1360px;background:#fff;color:#111;padding:34px 34px 28px;margin:auto;font-family:Arial,Helvetica,sans-serif}.invoice-top{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center}.invoice-top .bar{height:14px;background:#050505}.invoice-top h2{font-size:24px;margin:0;letter-spacing:.5px}.invoice-meta{text-align:center;margin:20px 0 14px;border-bottom:2px solid #cfcfcf;padding-bottom:12px;font-size:14px;display:flex;justify-content:center;gap:18px}.invoice-head{display:grid;grid-template-columns:230px 270px 245px 132px;gap:20px;align-items:start;margin:30px 0 70px;overflow:visible}.brand img{max-width:220px;max-height:120px}.issuer,.client{font-size:15px;line-height:1.45}.client small{color:#64748b;font-weight:700}.qrbox{text-align:center;width:132px;max-width:132px;overflow:visible}.qrbox #qrCode{width:132px;height:132px;margin:0 auto;overflow:visible}.qrbox canvas,.qrbox img{width:132px!important;height:132px!important;display:block}.qrbox span{font-size:16px;display:block;margin-top:4px;white-space:nowrap}.items-table,.payments table{width:100%;border-collapse:collapse;font-size:15px}.items-table th,.payments th{background:#050505;color:#fff;text-align:left;padding:8px;border-right:3px solid #fff}.items-table td,.payments td{background:#e7e7e7;padding:14px 10px;border-bottom:3px solid #fff}.items-table th:nth-child(1),.items-table td:nth-child(1){width:90px}.items-table th:nth-child(3),.items-table td:nth-child(3),.items-table th:nth-child(4),.items-table td:nth-child(4),.items-table th:nth-child(5),.items-table td:nth-child(5),.items-table th:nth-child(6),.items-table td:nth-child(6){text-align:right}.totals-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:45px 0 110px}.tax-detail,.total-box{border-top:2px solid #555;border-bottom:2px solid #555;padding:14px 0}.tax-detail p,.total-box p{display:flex;justify-content:space-between;margin:8px 0;font-weight:700}.total-box h3{border-top:2px solid #555;border-bottom:2px solid #555;padding:18px 0;margin:20px 0 0;display:flex;justify-content:space-between;font-size:22px}.payments{border-top:2px solid #777;padding-top:16px}.payments h2{text-align:center;font-size:22px}.payments td{vertical-align:top}footer{margin-top:48px;color:#64748b;font-size:12px;text-align:center}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.form-panel{position:static;height:auto}.invoice{transform:scale(.75);transform-origin:top left}}
/* Hotfix QR visible 20260625d: evita que el QR se corte en el PDF */
